From a1333bb12701c9f60bfcc18b3ea387c0c9741d1a Mon Sep 17 00:00:00 2001 From: QuantumExplorer Date: Fri, 27 Oct 2023 23:28:00 +0700 Subject: [PATCH 01/22] feat(platform): proto message and query versioning (#1522) Co-authored-by: markin.io --- .pnp.cjs | 20 +- ...y-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip | Bin 6868 -> 0 bytes ...y-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip | Bin 0 -> 7412 bytes ...stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip | Bin 0 -> 46438 bytes Cargo.lock | 13 +- package.json | 3 +- .../dash/platform/dapi/v0/PlatformGrpc.java | 134 +- .../platform/v0/nodejs/platform_pbjs.js | 20498 ++++++++++------ .../platform/v0/nodejs/platform_protoc.js | 16341 +++++++----- .../platform/v0/objective-c/Platform.pbobjc.h | 1469 +- .../platform/v0/objective-c/Platform.pbobjc.m | 4460 ++-- .../platform/v0/objective-c/Platform.pbrpc.h | 49 +- .../platform/v0/objective-c/Platform.pbrpc.m | 49 +- .../platform/v0/python/platform_pb2.py | 3332 ++- .../platform/v0/python/platform_pb2_grpc.py | 41 +- .../platform/v0/rust/platform_example.rs | 6 +- .../clients/platform/v0/web/platform_pb.d.ts | 2538 +- .../clients/platform/v0/web/platform_pb.js | 16341 +++++++----- .../platform/v0/web/platform_pb_service.d.ts | 32 +- .../platform/v0/web/platform_pb_service.js | 16 +- .../protos/platform/v0/platform.proto | 504 +- .../proto/org.dash.platform.dapi.v0.rs | 1177 +- packages/dapi/lib/dpp/DriveStateRepository.js | 2 +- .../fetchProofForStateTransitionFactory.js | 23 +- .../getConsensusParamsHandlerFactory.js | 19 +- .../platform/getDataContractHandlerFactory.js | 2 +- .../getDataContractHistoryHandlerFactory.js | 2 +- .../platform/getDocumentsHandlerFactory.js | 4 +- ...entitiesByPublicKeyHashesHandlerFactory.js | 2 +- .../platform/getIdentityHandlerFactory.js | 2 +- ...tForStateTransitionResultHandlerFactory.js | 15 +- .../dpp/DriveStateRepository.spec.js | 5 +- ...tateTransitionResultHandlerFactory.spec.js | 43 +- .../externalApis/drive/DriveClient.spec.js | 101 +- ...etchProofForStateTransitionFactory.spec.js | 13 +- .../getConsensusParamsHandlerFactory.spec.js | 22 +- .../getDataContractHandlerFactory.spec.js | 26 +- .../getDocumentsHandlerFactory.spec.js | 27 +- ...iesByPublicKeyHashesHandlerFactory.spec.js | 49 +- .../getIdentityHandlerFactory.spec.js | 26 +- .../getConsensusParamsFactory.js | 12 +- .../getConsensusParamsResponse.js | 4 +- .../GetDataContractResponse.js | 2 +- .../getDataContract/getDataContractFactory.js | 8 +- .../GetDataContractHistoryResponse.js | 2 +- .../getDataContractHistoryFactory.js | 14 +- .../getDocuments/GetDocumentsResponse.js | 2 +- .../getDocuments/getDocumentsFactory.js | 20 +- .../GetIdentitiesByPublicKeyHashesResponse.js | 10 +- .../getIdentitiesByPublicKeyHashesFactory.js | 9 +- .../getIdentity/GetIdentityResponse.js | 4 +- .../getIdentity/getIdentityFactory.js | 8 +- .../platform/response/AbstractResponse.js | 4 +- .../WaitForStateTransitionResultResponse.js | 15 +- .../waitForStateTransitionResultFactory.js | 9 +- .../platform/PlatformMethodsFacade.spec.js | 31 +- .../getConsensusParamsFactory.spec.js | 45 +- .../getConsensusParamsResponse.spec.js | 16 +- .../GetDataContractResponse.spec.js | 31 +- .../getDataContractFactory.spec.js | 36 +- .../GetDataContractHistoryResponse.spec.js | 42 +- .../getDataContractHistoryFactory.spec.js | 60 +- .../getDocuments/GetDocumentsResponse.spec.js | 20 +- .../getDocuments/getDocumentsFactory.spec.js | 75 +- ...dentitiesByPublicKeyHashesResponse.spec.js | 28 +- ...IdentitiesByPublicKeyHashesFactory.spec.js | 47 +- .../getIdentitiy/GetIdentityResponse.spec.js | 17 +- .../getIdentitiy/getIdentityFactory.spec.js | 36 +- ...aitForStateTransitionResultFactory.spec.js | 33 +- .../SDK/Client/Platform/Fetcher/Fetcher.ts | 3 +- .../Client/Platform/methods/contracts/get.ts | 2 +- .../Client/Platform/methods/identities/get.ts | 2 +- .../Client/Platform/methods/names/register.ts | 2 - packages/rs-drive-abci/Cargo.toml | 1 + packages/rs-drive-abci/src/error/query.rs | 16 + packages/rs-drive-abci/src/main.rs | 2 +- .../data_contract/mod.rs | 60 + .../data_contract/v0/mod.rs | 84 + .../data_contract_history/mod.rs | 66 + .../data_contract_history/v0/mod.rs | 120 + .../data_contracts/mod.rs | 62 + .../data_contracts/v0/mod.rs | 93 + .../query/data_contract_based_queries/mod.rs | 3 + .../src/query/document_query/mod.rs | 58 + .../src/query/document_query/v0/mod.rs | 199 + .../identity_based_queries/balance/mod.rs | 60 + .../identity_based_queries/balance/v0/mod.rs | 76 + .../balance_and_revision/mod.rs | 62 + .../balance_and_revision/v0/mod.rs | 97 + .../identity_based_queries/identities/mod.rs | 60 + .../identities/v0/mod.rs | 109 + .../identities_by_public_key_hashes/mod.rs | 65 + .../identities_by_public_key_hashes/v0/mod.rs | 103 + .../identity_based_queries/identity/mod.rs | 60 + .../identity_based_queries/identity/v0/mod.rs | 85 + .../identity_by_public_key_hash/mod.rs | 66 + .../identity_by_public_key_hash/v0/mod.rs | 87 + .../query/identity_based_queries/keys/mod.rs | 60 + .../identity_based_queries/keys/v0/mod.rs | 178 + .../src/query/identity_based_queries/mod.rs | 7 + packages/rs-drive-abci/src/query/mod.rs | 1101 +- .../rs-drive-abci/src/query/proofs/mod.rs | 56 + .../rs-drive-abci/src/query/proofs/v0/mod.rs | 122 + .../src/query/response_metadata/mod.rs | 26 + .../src/query/response_metadata/v0/mod.rs | 16 + packages/rs-drive-abci/src/query/v0/mod.rs | 1258 +- .../tests/strategy_tests/failures.rs | 2 +- .../tests/strategy_tests/query.rs | 38 +- .../verify_state_transitions.rs | 151 +- packages/rs-drive/Cargo.toml | 8 +- .../contract/prove/prove_contract/v0/mod.rs | 12 +- .../v0/mod.rs | 2 +- .../src/version/drive_abci_versions.rs | 81 +- .../src/version/mocks/v2_test.rs | 72 +- .../src/version/mocks/v3_test.rs | 72 +- .../rs-platform-version/src/version/v1.rs | 72 +- .../src/plugins/Workers/IdentitySyncWorker.js | 4 +- yarn.lock | 37 +- 118 files changed, 46689 insertions(+), 26435 deletions(-) delete mode 100644 .yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip create mode 100644 .yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip create mode 100644 .yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip create mode 100644 packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/mod.rs create mode 100644 packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/mod.rs create mode 100644 packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/mod.rs create mode 100644 packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/data_contract_based_queries/mod.rs create mode 100644 packages/rs-drive-abci/src/query/document_query/mod.rs create mode 100644 packages/rs-drive-abci/src/query/document_query/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/balance/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identities/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identities/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identity/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/keys/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/identity_based_queries/mod.rs create mode 100644 packages/rs-drive-abci/src/query/proofs/mod.rs create mode 100644 packages/rs-drive-abci/src/query/proofs/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/response_metadata/mod.rs create mode 100644 packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs diff --git a/.pnp.cjs b/.pnp.cjs index b200f23359..86ff3040a0 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -6498,10 +6498,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["browserify-sign", [\ - ["npm:4.2.1", {\ - "packageLocation": "./.yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip/node_modules/browserify-sign/",\ + ["npm:4.2.2", {\ + "packageLocation": "./.yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip/node_modules/browserify-sign/",\ "packageDependencies": [\ - ["browserify-sign", "npm:4.2.1"],\ + ["browserify-sign", "npm:4.2.2"],\ ["bn.js", "npm:4.12.0"],\ ["browserify-rsa", "npm:4.1.0"],\ ["create-hash", "npm:1.2.0"],\ @@ -6509,7 +6509,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["elliptic", "npm:6.5.4"],\ ["inherits", "npm:2.0.4"],\ ["parse-asn1", "npm:5.1.6"],\ - ["readable-stream", "npm:3.6.0"],\ + ["readable-stream", "npm:3.6.2"],\ ["safe-buffer", "npm:5.2.1"]\ ],\ "linkType": "HARD"\ @@ -7952,7 +7952,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["crypto-browserify", "npm:3.12.0"],\ ["browserify-cipher", "npm:1.0.1"],\ - ["browserify-sign", "npm:4.2.1"],\ + ["browserify-sign", "npm:4.2.2"],\ ["create-ecdh", "npm:4.0.4"],\ ["create-hash", "npm:1.2.0"],\ ["create-hmac", "npm:1.1.7"],\ @@ -15626,6 +15626,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["util-deprecate", "npm:1.0.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.6.2", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:3.6.2"],\ + ["inherits", "npm:2.0.4"],\ + ["string_decoder", "npm:1.3.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["readdir-scoped-modules", [\ diff --git a/.yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip b/.yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip deleted file mode 100644 index 9d443277ef53e7337a5e23e30518929c718421c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6868 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 VF)kbr0Dvxj%IE-q6UmRe{{vYFf~Nog diff --git a/.yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip b/.yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip new file mode 100644 index 0000000000000000000000000000000000000000..5d27aa66dd8782d6a65653c5a1befaec63e77369 GIT binary patch literal 7412 zcma)>1ymf#*2f1MT!XvA;3NbM79hAw@E{p9cyI_3ENJlH5L|=12MHPo?hFzF4DSAs z-R0#i-`SU~IX&HdPS>w)cip;m>t9N;aPYW*pGBl(9O;jXzy8o~&(=0C!7r?AUOK)4 zJFqMLTzXmh<65EuXe77hTQ{asZ#X)y@} zRS9*azVI1J+_?k1=M@%oiswofFdg)qI03l3;uWurqA0WJ=s$gMyyNOlP3hh zgge6&ipWA+!k89`}4-bt-^U^Pz*>oKkS^W@Dz zGK1i$G;`hNjEaqon{$E{o}b=@@`vmFbi|$kB$;QocRvrh-?@n4D^nW>HVX#^M+Y#a z!)tqUw>Ax^%iGLwpf#;Mw`E}V z&YXLI3&)K+Y4{mquG^3iwll}L=3R`m{fN;IFA5M}H8d+82EnbOr@LG79D7hZaIw(} zC9T+`0uc-`)=@Wups-wn22JSRaGV`t3cyfS)-Ah~pwh2n8MS8cnBy&hUyP0E zE#!2)ap@~aMClL!V$+;XC(@WbX|Jm43Wf$YPkhfaj2O&keLD4O*fkL`wGO5x%JTU0 zNiLiU34PRMGcg$Sh*#z?{mgsc!kx*cm#Tk3IQzS^c0Y85v`wcc*L`uFj|y|#WjSBJ zBqGK*@l6^hPRB~=UQ)O>i?eoq#(Nnj@$^3!1V$LKnPzLV+dz z43LAH{FO>6+$vJB87$5@v!;wy1NtQ6Y?EPN`{rX<$tZ-#L(y;COO~Aa#I+R4G@D5smruPD zHL||gk=ZO#{N0~xQ{Niv-}-UezZsi%eyqyQs-Vuu2I`e#Q?B{G#3ak2BE?p~!r1e? zRGm?Vm1TfMW=ttCD9;iWFG~Y=g&-Dpla3&pJ}wJrnzIIj_jDz)qX@F0q%N{DgoZ53 z+ACKm&I6*4MN$zI+#@*%$LvC483p=3-ka@;vA*y50%>Uh^C0%Q>># zDx>tum9o@SdHOy&=q7LALxdCugc+$aco~?w@mRMiT@&54Bks_?tEiBy@uga|A}NAk zQ(wA1D`o3=t>(Osq50sp8rl4hyM>9Q)W`&mi4T$2D5tCj=umT*WTuQP!*eT!dcTHR zvuI^a1$yG19Br*rcQ3E^gEpGGG~%3trBlfX2&X_zUNaMh5^c-_!xCSN3T^H9Y^kxz zD~hS}CmEd7JkcF$gJLw@Nvoce`Y6;^n*J!n%`!PG5pFrNKU&{fJBlyl*_rojyo8e< zXOy+XwhWKWkpa49?ejq=?Jy3{Cd!N)Xv$vj_nPc_!WsZ%-iR=en|hlNqI>6Jz31TK zErJ2)b7};5FbC1V=m2%i=$U)C<{h)VJCT`UU`HUZy}`)YD8{nnWGF87Z!lCd1^jar zAsuJmbYVOs*&tQk2F|d)0d?{Ef(o8`3Ok$i9@$EQ*|T`8BO5P78JbfUvRNW&EdzLU}f z{umn{H6X`%Q)zN9`7s-bfudDOW2ECG{0)7sZLOpHETL>qXtK9W(LeR@fuF9a7w;R4 zWtr<_&QDpaezrv`*F1rJ;@&l^$ll*dk+QHGCY$&q<}o@csQ`?{k>*qse5Yyjg}$)x zO6iX7NIV6|MgU}8Z;jp(r@M%jFvwjJn^w8O@Tmk}KzSZ{6Ddcn@ImvrtLA{i=8Dx~ za>G;XRc&3WH#cm3SFzwstNOUav}vso^?5=tu$4}xbDGhIDC!5`!M)~2Vbg12;xP%Gg2;2y}z+eZ17@!JP9I1F-J{rhp~qluC=tGX?$EHEnGeB)&vqZI1L-$M~zFydNm&vd(`ly zd?qBQtN6yz*@R!zaO|n(XbNm_cLAzBg=T4KK1UvCdV8}G{~-U-fp3==(NF~k

Xs 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 D&a$~V literal 0 HcmV?d00001 diff --git a/.yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip b/.yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip new file mode 100644 index 0000000000000000000000000000000000000000..0053b672303f42d75e62498befeb73bdab08387b GIT binary patch literal 46438 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 literal 0 HcmV?d00001 diff --git a/Cargo.lock b/Cargo.lock index 3574e72cdf..3ae263d4b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1291,6 +1291,7 @@ dependencies = [ "metrics", "metrics-exporter-prometheus", "mockall", + "paste", "platform-serialization", "platform-serialization-derive", "platform-version", @@ -1756,7 +1757,7 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "grovedb" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d#63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d" +source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" dependencies = [ "bincode 1.3.3", "grovedb-costs", @@ -1778,7 +1779,7 @@ dependencies = [ [[package]] name = "grovedb-costs" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d#63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d" +source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" dependencies = [ "integer-encoding", "intmap", @@ -1788,7 +1789,7 @@ dependencies = [ [[package]] name = "grovedb-merk" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d#63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d" +source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" dependencies = [ "blake3", "byteorder", @@ -1812,12 +1813,12 @@ dependencies = [ [[package]] name = "grovedb-path" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d#63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d" +source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" [[package]] name = "grovedb-storage" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d#63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d" +source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" dependencies = [ "blake3", "grovedb-costs", @@ -1836,7 +1837,7 @@ dependencies = [ [[package]] name = "grovedb-visualize" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d#63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d" +source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" dependencies = [ "hex", "itertools", diff --git a/package.json b/package.json index 43369dad61..fe59cc273a 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,8 @@ "socket.io-parser": "^4.2.3", "semver": "^7.5.3", "word-wrap": "^1.2.4", - "protobufjs": "^6.11.4" + "protobufjs": "^6.11.4", + "browserify-sign": "4.2.2" }, "dependencies": { "node-gyp": "^9.3.1" diff --git a/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java b/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java index 38d1720fdd..c3b046341e 100644 --- a/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java +++ b/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java @@ -139,27 +139,27 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityKeysResponse> getGetIden return getGetIdentityKeysMethod; } - private static volatile io.grpc.MethodDescriptor getGetIdentityBalanceMethod; @io.grpc.stub.annotations.RpcMethod( fullMethodName = SERVICE_NAME + '/' + "getIdentityBalance", - requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest.class, + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest.class, responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) - public static io.grpc.MethodDescriptor getGetIdentityBalanceMethod() { - io.grpc.MethodDescriptor getGetIdentityBalanceMethod; + io.grpc.MethodDescriptor getGetIdentityBalanceMethod; if ((getGetIdentityBalanceMethod = PlatformGrpc.getGetIdentityBalanceMethod) == null) { synchronized (PlatformGrpc.class) { if ((getGetIdentityBalanceMethod = PlatformGrpc.getGetIdentityBalanceMethod) == null) { PlatformGrpc.getGetIdentityBalanceMethod = getGetIdentityBalanceMethod = - io.grpc.MethodDescriptor.newBuilder() + io.grpc.MethodDescriptor.newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getIdentityBalance")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest.getDefaultInstance())) + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse.getDefaultInstance())) .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getIdentityBalance")) @@ -170,27 +170,27 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse> getGetI return getGetIdentityBalanceMethod; } - private static volatile io.grpc.MethodDescriptor getGetIdentityBalanceAndRevisionMethod; @io.grpc.stub.annotations.RpcMethod( fullMethodName = SERVICE_NAME + '/' + "getIdentityBalanceAndRevision", - requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest.class, + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest.class, responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionResponse.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) - public static io.grpc.MethodDescriptor getGetIdentityBalanceAndRevisionMethod() { - io.grpc.MethodDescriptor getGetIdentityBalanceAndRevisionMethod; + io.grpc.MethodDescriptor getGetIdentityBalanceAndRevisionMethod; if ((getGetIdentityBalanceAndRevisionMethod = PlatformGrpc.getGetIdentityBalanceAndRevisionMethod) == null) { synchronized (PlatformGrpc.class) { if ((getGetIdentityBalanceAndRevisionMethod = PlatformGrpc.getGetIdentityBalanceAndRevisionMethod) == null) { PlatformGrpc.getGetIdentityBalanceAndRevisionMethod = getGetIdentityBalanceAndRevisionMethod = - io.grpc.MethodDescriptor.newBuilder() + io.grpc.MethodDescriptor.newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getIdentityBalanceAndRevision")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest.getDefaultInstance())) + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionResponse.getDefaultInstance())) .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getIdentityBalanceAndRevision")) @@ -387,35 +387,35 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesByPublicKeyHashesRespo return getGetIdentitiesByPublicKeyHashesMethod; } - private static volatile io.grpc.MethodDescriptor getGetIdentityByPublicKeyHashesMethod; + private static volatile io.grpc.MethodDescriptor getGetIdentityByPublicKeyHashMethod; @io.grpc.stub.annotations.RpcMethod( - fullMethodName = SERVICE_NAME + '/' + "getIdentityByPublicKeyHashes", - requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest.class, - responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesResponse.class, + fullMethodName = SERVICE_NAME + '/' + "getIdentityByPublicKeyHash", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashResponse.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) - public static io.grpc.MethodDescriptor getGetIdentityByPublicKeyHashesMethod() { - io.grpc.MethodDescriptor getGetIdentityByPublicKeyHashesMethod; - if ((getGetIdentityByPublicKeyHashesMethod = PlatformGrpc.getGetIdentityByPublicKeyHashesMethod) == null) { + public static io.grpc.MethodDescriptor getGetIdentityByPublicKeyHashMethod() { + io.grpc.MethodDescriptor getGetIdentityByPublicKeyHashMethod; + if ((getGetIdentityByPublicKeyHashMethod = PlatformGrpc.getGetIdentityByPublicKeyHashMethod) == null) { synchronized (PlatformGrpc.class) { - if ((getGetIdentityByPublicKeyHashesMethod = PlatformGrpc.getGetIdentityByPublicKeyHashesMethod) == null) { - PlatformGrpc.getGetIdentityByPublicKeyHashesMethod = getGetIdentityByPublicKeyHashesMethod = - io.grpc.MethodDescriptor.newBuilder() + if ((getGetIdentityByPublicKeyHashMethod = PlatformGrpc.getGetIdentityByPublicKeyHashMethod) == null) { + PlatformGrpc.getGetIdentityByPublicKeyHashMethod = getGetIdentityByPublicKeyHashMethod = + io.grpc.MethodDescriptor.newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) - .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getIdentityByPublicKeyHashes")) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getIdentityByPublicKeyHash")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest.getDefaultInstance())) + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesResponse.getDefaultInstance())) - .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getIdentityByPublicKeyHashes")) + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getIdentityByPublicKeyHash")) .build(); } } } - return getGetIdentityByPublicKeyHashesMethod; + return getGetIdentityByPublicKeyHashMethod; } private static volatile io.grpc.MethodDescriptor - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - * */ - public void getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request, + public void getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityBalanceMethod(), responseObserver); } /** */ - public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request, + public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityBalanceAndRevisionMethod(), responseObserver); } @@ -617,9 +614,9 @@ public void getIdentitiesByPublicKeyHashes(org.dash.platform.dapi.v0.PlatformOut /** */ - public void getIdentityByPublicKeyHashes(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest request, - io.grpc.stub.StreamObserver responseObserver) { - io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityByPublicKeyHashesMethod(), responseObserver); + public void getIdentityByPublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityByPublicKeyHashMethod(), responseObserver); } /** @@ -670,14 +667,14 @@ public void getConsensusParams(org.dash.platform.dapi.v0.PlatformOuterClass.GetC getGetIdentityBalanceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( new MethodHandlers< - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse>( this, METHODID_GET_IDENTITY_BALANCE))) .addMethod( getGetIdentityBalanceAndRevisionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( new MethodHandlers< - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionResponse>( this, METHODID_GET_IDENTITY_BALANCE_AND_REVISION))) .addMethod( @@ -723,12 +720,12 @@ public void getConsensusParams(org.dash.platform.dapi.v0.PlatformOuterClass.GetC org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesByPublicKeyHashesResponse>( this, METHODID_GET_IDENTITIES_BY_PUBLIC_KEY_HASHES))) .addMethod( - getGetIdentityByPublicKeyHashesMethod(), + getGetIdentityByPublicKeyHashMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( new MethodHandlers< - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest, - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesResponse>( - this, METHODID_GET_IDENTITY_BY_PUBLIC_KEY_HASHES))) + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashResponse>( + this, METHODID_GET_IDENTITY_BY_PUBLIC_KEY_HASH))) .addMethod( getWaitForStateTransitionResultMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -794,11 +791,8 @@ public void getIdentityKeys(org.dash.platform.dapi.v0.PlatformOuterClass.GetIden } /** - *

-     *  rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse);
-     * 
*/ - public void getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request, + public void getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getGetIdentityBalanceMethod(), getCallOptions()), request, responseObserver); @@ -806,7 +800,7 @@ public void getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetI /** */ - public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request, + public void getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getGetIdentityBalanceAndRevisionMethod(), getCallOptions()), request, responseObserver); @@ -862,10 +856,10 @@ public void getIdentitiesByPublicKeyHashes(org.dash.platform.dapi.v0.PlatformOut /** */ - public void getIdentityByPublicKeyHashes(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest request, - io.grpc.stub.StreamObserver responseObserver) { + public void getIdentityByPublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest request, + io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncUnaryCall( - getChannel().newCall(getGetIdentityByPublicKeyHashesMethod(), getCallOptions()), request, responseObserver); + getChannel().newCall(getGetIdentityByPublicKeyHashMethod(), getCallOptions()), request, responseObserver); } /** @@ -928,18 +922,15 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityKeysResponse getI } /** - *
-     *  rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse);
-     * 
*/ - public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request) { + public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceResponse getIdentityBalance(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getGetIdentityBalanceMethod(), getCallOptions(), request); } /** */ - public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionResponse getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request) { + public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionResponse getIdentityBalanceAndRevision(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getGetIdentityBalanceAndRevisionMethod(), getCallOptions(), request); } @@ -988,9 +979,9 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesByPublicKeyHash /** */ - public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesResponse getIdentityByPublicKeyHashes(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest request) { + public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashResponse getIdentityByPublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( - getChannel(), getGetIdentityByPublicKeyHashesMethod(), getCallOptions(), request); + getChannel(), getGetIdentityByPublicKeyHashMethod(), getCallOptions(), request); } /** @@ -1055,12 +1046,9 @@ public com.google.common.util.concurrent.ListenableFuture - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - * */ public com.google.common.util.concurrent.ListenableFuture getIdentityBalance( - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request) { + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest request) { return io.grpc.stub.ClientCalls.futureUnaryCall( getChannel().newCall(getGetIdentityBalanceMethod(), getCallOptions()), request); } @@ -1068,7 +1056,7 @@ public com.google.common.util.concurrent.ListenableFuture getIdentityBalanceAndRevision( - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest request) { + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest request) { return io.grpc.stub.ClientCalls.futureUnaryCall( getChannel().newCall(getGetIdentityBalanceAndRevisionMethod(), getCallOptions()), request); } @@ -1123,10 +1111,10 @@ public com.google.common.util.concurrent.ListenableFuture getIdentityByPublicKeyHashes( - org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest request) { + public com.google.common.util.concurrent.ListenableFuture getIdentityByPublicKeyHash( + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest request) { return io.grpc.stub.ClientCalls.futureUnaryCall( - getChannel().newCall(getGetIdentityByPublicKeyHashesMethod(), getCallOptions()), request); + getChannel().newCall(getGetIdentityByPublicKeyHashMethod(), getCallOptions()), request); } /** @@ -1158,7 +1146,7 @@ public com.google.common.util.concurrent.ListenableFuture responseObserv (io.grpc.stub.StreamObserver) responseObserver); break; case METHODID_GET_IDENTITY_BALANCE: - serviceImpl.getIdentityBalance((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest) request, + serviceImpl.getIdentityBalance((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; case METHODID_GET_IDENTITY_BALANCE_AND_REVISION: - serviceImpl.getIdentityBalanceAndRevision((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityRequest) request, + serviceImpl.getIdentityBalanceAndRevision((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityBalanceAndRevisionRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; case METHODID_GET_PROOFS: @@ -1227,9 +1215,9 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv serviceImpl.getIdentitiesByPublicKeyHashes((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentitiesByPublicKeyHashesRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; - case METHODID_GET_IDENTITY_BY_PUBLIC_KEY_HASHES: - serviceImpl.getIdentityByPublicKeyHashes((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashesRequest) request, - (io.grpc.stub.StreamObserver) responseObserver); + case METHODID_GET_IDENTITY_BY_PUBLIC_KEY_HASH: + serviceImpl.getIdentityByPublicKeyHash((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); break; case METHODID_WAIT_FOR_STATE_TRANSITION_RESULT: serviceImpl.waitForStateTransitionResult((org.dash.platform.dapi.v0.PlatformOuterClass.WaitForStateTransitionResultRequest) request, @@ -1312,7 +1300,7 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getGetDataContractsMethod()) .addMethod(getGetDocumentsMethod()) .addMethod(getGetIdentitiesByPublicKeyHashesMethod()) - .addMethod(getGetIdentityByPublicKeyHashesMethod()) + .addMethod(getGetIdentityByPublicKeyHashMethod()) .addMethod(getWaitForStateTransitionResultMethod()) .addMethod(getGetConsensusParamsMethod()) .build(); diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js index d34375ab63..76696b5ae2 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js @@ -232,13 +232,13 @@ $root.org = (function() { * @function getIdentityBalance * @memberof org.dash.platform.dapi.v0.Platform * @instance - * @param {org.dash.platform.dapi.v0.IGetIdentityRequest} request GetIdentityRequest message or plain object + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceRequest} request GetIdentityBalanceRequest message or plain object * @param {org.dash.platform.dapi.v0.Platform.getIdentityBalanceCallback} callback Node-style callback called with the error, if any, and GetIdentityBalanceResponse * @returns {undefined} * @variation 1 */ Object.defineProperty(Platform.prototype.getIdentityBalance = function getIdentityBalance(request, callback) { - return this.rpcCall(getIdentityBalance, $root.org.dash.platform.dapi.v0.GetIdentityRequest, $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse, request, callback); + return this.rpcCall(getIdentityBalance, $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest, $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse, request, callback); }, "name", { value: "getIdentityBalance" }); /** @@ -246,7 +246,7 @@ $root.org = (function() { * @function getIdentityBalance * @memberof org.dash.platform.dapi.v0.Platform * @instance - * @param {org.dash.platform.dapi.v0.IGetIdentityRequest} request GetIdentityRequest message or plain object + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceRequest} request GetIdentityBalanceRequest message or plain object * @returns {Promise} Promise * @variation 2 */ @@ -265,13 +265,13 @@ $root.org = (function() { * @function getIdentityBalanceAndRevision * @memberof org.dash.platform.dapi.v0.Platform * @instance - * @param {org.dash.platform.dapi.v0.IGetIdentityRequest} request GetIdentityRequest message or plain object + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionRequest} request GetIdentityBalanceAndRevisionRequest message or plain object * @param {org.dash.platform.dapi.v0.Platform.getIdentityBalanceAndRevisionCallback} callback Node-style callback called with the error, if any, and GetIdentityBalanceAndRevisionResponse * @returns {undefined} * @variation 1 */ Object.defineProperty(Platform.prototype.getIdentityBalanceAndRevision = function getIdentityBalanceAndRevision(request, callback) { - return this.rpcCall(getIdentityBalanceAndRevision, $root.org.dash.platform.dapi.v0.GetIdentityRequest, $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse, request, callback); + return this.rpcCall(getIdentityBalanceAndRevision, $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest, $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse, request, callback); }, "name", { value: "getIdentityBalanceAndRevision" }); /** @@ -279,7 +279,7 @@ $root.org = (function() { * @function getIdentityBalanceAndRevision * @memberof org.dash.platform.dapi.v0.Platform * @instance - * @param {org.dash.platform.dapi.v0.IGetIdentityRequest} request GetIdentityRequest message or plain object + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionRequest} request GetIdentityBalanceAndRevisionRequest message or plain object * @returns {Promise} Promise * @variation 2 */ @@ -483,35 +483,35 @@ $root.org = (function() { */ /** - * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getIdentityByPublicKeyHashes}. + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getIdentityByPublicKeyHash}. * @memberof org.dash.platform.dapi.v0.Platform - * @typedef getIdentityByPublicKeyHashesCallback + * @typedef getIdentityByPublicKeyHashCallback * @type {function} * @param {Error|null} error Error, if any - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} [response] GetIdentityByPublicKeyHashesResponse + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} [response] GetIdentityByPublicKeyHashResponse */ /** - * Calls getIdentityByPublicKeyHashes. - * @function getIdentityByPublicKeyHashes + * Calls getIdentityByPublicKeyHash. + * @function getIdentityByPublicKeyHash * @memberof org.dash.platform.dapi.v0.Platform * @instance - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesRequest} request GetIdentityByPublicKeyHashesRequest message or plain object - * @param {org.dash.platform.dapi.v0.Platform.getIdentityByPublicKeyHashesCallback} callback Node-style callback called with the error, if any, and GetIdentityByPublicKeyHashesResponse + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} request GetIdentityByPublicKeyHashRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getIdentityByPublicKeyHashCallback} callback Node-style callback called with the error, if any, and GetIdentityByPublicKeyHashResponse * @returns {undefined} * @variation 1 */ - Object.defineProperty(Platform.prototype.getIdentityByPublicKeyHashes = function getIdentityByPublicKeyHashes(request, callback) { - return this.rpcCall(getIdentityByPublicKeyHashes, $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest, $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse, request, callback); - }, "name", { value: "getIdentityByPublicKeyHashes" }); + Object.defineProperty(Platform.prototype.getIdentityByPublicKeyHash = function getIdentityByPublicKeyHash(request, callback) { + return this.rpcCall(getIdentityByPublicKeyHash, $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest, $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse, request, callback); + }, "name", { value: "getIdentityByPublicKeyHash" }); /** - * Calls getIdentityByPublicKeyHashes. - * @function getIdentityByPublicKeyHashes + * Calls getIdentityByPublicKeyHash. + * @function getIdentityByPublicKeyHash * @memberof org.dash.platform.dapi.v0.Platform * @instance - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesRequest} request GetIdentityByPublicKeyHashesRequest message or plain object - * @returns {Promise} Promise + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} request GetIdentityByPublicKeyHashRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ @@ -1825,8 +1825,7 @@ $root.org = (function() { * Properties of a GetIdentityRequest. * @memberof org.dash.platform.dapi.v0 * @interface IGetIdentityRequest - * @property {Uint8Array|null} [id] GetIdentityRequest id - * @property {boolean|null} [prove] GetIdentityRequest prove + * @property {org.dash.platform.dapi.v0.GetIdentityRequest.IGetIdentityRequestV0|null} [v0] GetIdentityRequest v0 */ /** @@ -1845,20 +1844,26 @@ $root.org = (function() { } /** - * GetIdentityRequest id. - * @member {Uint8Array} id + * GetIdentityRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityRequest.IGetIdentityRequestV0|null|undefined} v0 * @memberof org.dash.platform.dapi.v0.GetIdentityRequest * @instance */ - GetIdentityRequest.prototype.id = $util.newBuffer([]); + GetIdentityRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetIdentityRequest prove. - * @member {boolean} prove + * GetIdentityRequest version. + * @member {"v0"|undefined} version * @memberof org.dash.platform.dapi.v0.GetIdentityRequest * @instance */ - GetIdentityRequest.prototype.prove = false; + Object.defineProperty(GetIdentityRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** * Creates a new GetIdentityRequest instance using the specified properties. @@ -1884,10 +1889,8 @@ $root.org = (function() { GetIdentityRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -1923,10 +1926,7 @@ $root.org = (function() { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.id = reader.bytes(); - break; - case 2: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -1963,12 +1963,15 @@ $root.org = (function() { GetIdentityRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) - return "id: buffer expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } return null; }; @@ -1984,13 +1987,11 @@ $root.org = (function() { if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityRequest) return object; var message = new $root.org.dash.platform.dapi.v0.GetIdentityRequest(); - if (object.id != null) - if (typeof object.id === "string") - $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); - else if (object.id.length >= 0) - message.id = object.id; - if (object.prove != null) - message.prove = Boolean(object.prove); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.fromObject(object.v0); + } return message; }; @@ -2007,20 +2008,11 @@ $root.org = (function() { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.id = ""; - else { - object.id = []; - if (options.bytes !== Array) - object.id = $util.newBuffer(object.id); - } - object.prove = false; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } - if (message.id != null && message.hasOwnProperty("id")) - object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; return object; }; @@ -2035,29 +2027,246 @@ $root.org = (function() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + GetIdentityRequest.GetIdentityRequestV0 = (function() { + + /** + * Properties of a GetIdentityRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest + * @interface IGetIdentityRequestV0 + * @property {Uint8Array|null} [id] GetIdentityRequestV0 id + * @property {boolean|null} [prove] GetIdentityRequestV0 prove + */ + + /** + * Constructs a new GetIdentityRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest + * @classdesc Represents a GetIdentityRequestV0. + * @implements IGetIdentityRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityRequest.IGetIdentityRequestV0=} [properties] Properties to set + */ + function GetIdentityRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentityRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @instance + */ + GetIdentityRequestV0.prototype.id = $util.newBuffer([]); + + /** + * GetIdentityRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @instance + */ + GetIdentityRequestV0.prototype.prove = false; + + /** + * Creates a new GetIdentityRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityRequest.IGetIdentityRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} GetIdentityRequestV0 instance + */ + GetIdentityRequestV0.create = function create(properties) { + return new GetIdentityRequestV0(properties); + }; + + /** + * Encodes the specified GetIdentityRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityRequest.IGetIdentityRequestV0} message GetIdentityRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetIdentityRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityRequest.IGetIdentityRequestV0} message GetIdentityRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} GetIdentityRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} GetIdentityRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetIdentityRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} GetIdentityRequestV0 + */ + GetIdentityRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0(); + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length >= 0) + message.id = object.id; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetIdentityRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} message GetIdentityRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetIdentityRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetIdentityRequestV0; + })(); + return GetIdentityRequest; })(); - v0.GetIdentityResponse = (function() { + v0.GetIdentityBalanceRequest = (function() { /** - * Properties of a GetIdentityResponse. + * Properties of a GetIdentityBalanceRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityResponse - * @property {Uint8Array|null} [identity] GetIdentityResponse identity - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityResponse metadata + * @interface IGetIdentityBalanceRequest + * @property {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.IGetIdentityBalanceRequestV0|null} [v0] GetIdentityBalanceRequest v0 */ /** - * Constructs a new GetIdentityResponse. + * Constructs a new GetIdentityBalanceRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityResponse. - * @implements IGetIdentityResponse + * @classdesc Represents a GetIdentityBalanceRequest. + * @implements IGetIdentityBalanceRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceRequest=} [properties] Properties to set */ - function GetIdentityResponse(properties) { + function GetIdentityBalanceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -2065,115 +2274,89 @@ $root.org = (function() { } /** - * GetIdentityResponse identity. - * @member {Uint8Array} identity - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse - * @instance - */ - GetIdentityResponse.prototype.identity = $util.newBuffer([]); - - /** - * GetIdentityResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse - * @instance - */ - GetIdentityResponse.prototype.proof = null; - - /** - * GetIdentityResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * GetIdentityBalanceRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.IGetIdentityBalanceRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @instance */ - GetIdentityResponse.prototype.metadata = null; + GetIdentityBalanceRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityResponse result. - * @member {"identity"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * GetIdentityBalanceRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @instance */ - Object.defineProperty(GetIdentityResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]), + Object.defineProperty(GetIdentityBalanceRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityResponse instance using the specified properties. + * Creates a new GetIdentityBalanceRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest} GetIdentityBalanceRequest instance */ - GetIdentityResponse.create = function create(properties) { - return new GetIdentityResponse(properties); + GetIdentityBalanceRequest.create = function create(properties) { + return new GetIdentityBalanceRequest(properties); }; /** - * Encodes the specified GetIdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityResponse.verify|verify} messages. + * Encodes the specified GetIdentityBalanceRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityResponse} message GetIdentityResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceRequest} message GetIdentityBalanceRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityResponse.encode = function encode(message, writer) { + GetIdentityBalanceRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identity); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityResponse.verify|verify} messages. + * Encodes the specified GetIdentityBalanceRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityResponse} message GetIdentityResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceRequest} message GetIdentityBalanceRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityResponse message from the specified reader or buffer. + * Decodes a GetIdentityBalanceRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest} GetIdentityBalanceRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityResponse.decode = function decode(reader, length) { + GetIdentityBalanceRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identity = reader.bytes(); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -2184,242 +2367,426 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityBalanceRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest} GetIdentityBalanceRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentityBalanceRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityResponse message. + * Verifies a GetIdentityBalanceRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityResponse.verify = function verify(message) { + GetIdentityBalanceRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.identity != null && message.hasOwnProperty("identity")) { - properties.result = 1; - if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity))) - return "identity: buffer expected"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; /** - * Creates a GetIdentityResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityBalanceRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest} GetIdentityBalanceRequest */ - GetIdentityResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityResponse) + GetIdentityBalanceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityResponse(); - if (object.identity != null) - if (typeof object.identity === "string") - $util.base64.decode(object.identity, message.identity = $util.newBuffer($util.base64.length(object.identity)), 0); - else if (object.identity.length >= 0) - message.identity = object.identity; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentityResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityBalanceRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentityResponse} message GetIdentityResponse + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceRequest} message GetIdentityBalanceRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityResponse.toObject = function toObject(message, options) { + GetIdentityBalanceRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.identity != null && message.hasOwnProperty("identity")) { - object.identity = options.bytes === String ? $util.base64.encode(message.identity, 0, message.identity.length) : options.bytes === Array ? Array.prototype.slice.call(message.identity) : message.identity; - if (options.oneofs) - object.result = "identity"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(message.v0, options); if (options.oneofs) - object.result = "proof"; + object.version = "v0"; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetIdentityResponse to JSON. + * Converts this GetIdentityBalanceRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest * @instance * @returns {Object.} JSON object */ - GetIdentityResponse.prototype.toJSON = function toJSON() { + GetIdentityBalanceRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentityResponse; - })(); + GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 = (function() { - v0.GetIdentitiesRequest = (function() { + /** + * Properties of a GetIdentityBalanceRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest + * @interface IGetIdentityBalanceRequestV0 + * @property {Uint8Array|null} [id] GetIdentityBalanceRequestV0 id + * @property {boolean|null} [prove] GetIdentityBalanceRequestV0 prove + */ - /** - * Properties of a GetIdentitiesRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesRequest - * @property {Array.|null} [ids] GetIdentitiesRequest ids - * @property {boolean|null} [prove] GetIdentitiesRequest prove - */ + /** + * Constructs a new GetIdentityBalanceRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest + * @classdesc Represents a GetIdentityBalanceRequestV0. + * @implements IGetIdentityBalanceRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.IGetIdentityBalanceRequestV0=} [properties] Properties to set + */ + function GetIdentityBalanceRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new GetIdentitiesRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesRequest. - * @implements IGetIdentitiesRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest=} [properties] Properties to set - */ - function GetIdentitiesRequest(properties) { - this.ids = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + /** + * GetIdentityBalanceRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @instance + */ + GetIdentityBalanceRequestV0.prototype.id = $util.newBuffer([]); + + /** + * GetIdentityBalanceRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @instance + */ + GetIdentityBalanceRequestV0.prototype.prove = false; + + /** + * Creates a new GetIdentityBalanceRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.IGetIdentityBalanceRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} GetIdentityBalanceRequestV0 instance + */ + GetIdentityBalanceRequestV0.create = function create(properties) { + return new GetIdentityBalanceRequestV0(properties); + }; + + /** + * Encodes the specified GetIdentityBalanceRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.IGetIdentityBalanceRequestV0} message GetIdentityBalanceRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetIdentityBalanceRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.IGetIdentityBalanceRequestV0} message GetIdentityBalanceRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityBalanceRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} GetIdentityBalanceRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityBalanceRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} GetIdentityBalanceRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityBalanceRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityBalanceRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetIdentityBalanceRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} GetIdentityBalanceRequestV0 + */ + GetIdentityBalanceRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0(); + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length >= 0) + message.id = object.id; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetIdentityBalanceRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} message GetIdentityBalanceRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityBalanceRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetIdentityBalanceRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityBalanceRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetIdentityBalanceRequestV0; + })(); + + return GetIdentityBalanceRequest; + })(); + + v0.GetIdentityBalanceAndRevisionRequest = (function() { + + /** + * Properties of a GetIdentityBalanceAndRevisionRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentityBalanceAndRevisionRequest + * @property {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.IGetIdentityBalanceAndRevisionRequestV0|null} [v0] GetIdentityBalanceAndRevisionRequest v0 + */ + + /** + * Constructs a new GetIdentityBalanceAndRevisionRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentityBalanceAndRevisionRequest. + * @implements IGetIdentityBalanceAndRevisionRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionRequest=} [properties] Properties to set + */ + function GetIdentityBalanceAndRevisionRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** - * GetIdentitiesRequest ids. - * @member {Array.} ids - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * GetIdentityBalanceAndRevisionRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.IGetIdentityBalanceAndRevisionRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @instance */ - GetIdentitiesRequest.prototype.ids = $util.emptyArray; + GetIdentityBalanceAndRevisionRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetIdentitiesRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * GetIdentityBalanceAndRevisionRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @instance */ - GetIdentitiesRequest.prototype.prove = false; + Object.defineProperty(GetIdentityBalanceAndRevisionRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetIdentitiesRequest instance using the specified properties. + * Creates a new GetIdentityBalanceAndRevisionRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} GetIdentityBalanceAndRevisionRequest instance */ - GetIdentitiesRequest.create = function create(properties) { - return new GetIdentitiesRequest(properties); + GetIdentityBalanceAndRevisionRequest.create = function create(properties) { + return new GetIdentityBalanceAndRevisionRequest(properties); }; /** - * Encodes the specified GetIdentitiesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesRequest.verify|verify} messages. + * Encodes the specified GetIdentityBalanceAndRevisionRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest} message GetIdentitiesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionRequest} message GetIdentityBalanceAndRevisionRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesRequest.encode = function encode(message, writer) { + GetIdentityBalanceAndRevisionRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.ids != null && message.ids.length) - for (var i = 0; i < message.ids.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ids[i]); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesRequest.verify|verify} messages. + * Encodes the specified GetIdentityBalanceAndRevisionRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest} message GetIdentitiesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionRequest} message GetIdentityBalanceAndRevisionRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityBalanceAndRevisionRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesRequest message from the specified reader or buffer. + * Decodes a GetIdentityBalanceAndRevisionRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} GetIdentityBalanceAndRevisionRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesRequest.decode = function decode(reader, length) { + GetIdentityBalanceAndRevisionRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.ids && message.ids.length)) - message.ids = []; - message.ids.push(reader.bytes()); - break; - case 2: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -2430,249 +2797,426 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityBalanceAndRevisionRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} GetIdentityBalanceAndRevisionRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentityBalanceAndRevisionRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesRequest message. + * Verifies a GetIdentityBalanceAndRevisionRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesRequest.verify = function verify(message) { + GetIdentityBalanceAndRevisionRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.ids != null && message.hasOwnProperty("ids")) { - if (!Array.isArray(message.ids)) - return "ids: array expected"; - for (var i = 0; i < message.ids.length; ++i) - if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) - return "ids: buffer[] expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; return null; }; /** - * Creates a GetIdentitiesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityBalanceAndRevisionRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} GetIdentityBalanceAndRevisionRequest */ - GetIdentitiesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesRequest) + GetIdentityBalanceAndRevisionRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesRequest(); - if (object.ids) { - if (!Array.isArray(object.ids)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesRequest.ids: array expected"); - message.ids = []; - for (var i = 0; i < object.ids.length; ++i) - if (typeof object.ids[i] === "string") - $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); - else if (object.ids[i].length >= 0) - message.ids[i] = object.ids[i]; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.fromObject(object.v0); } - if (object.prove != null) - message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetIdentitiesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityBalanceAndRevisionRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesRequest} message GetIdentitiesRequest + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} message GetIdentityBalanceAndRevisionRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesRequest.toObject = function toObject(message, options) { + GetIdentityBalanceAndRevisionRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.ids = []; - if (options.defaults) - object.prove = false; - if (message.ids && message.ids.length) { - object.ids = []; - for (var j = 0; j < message.ids.length; ++j) - object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; return object; }; /** - * Converts this GetIdentitiesRequest to JSON. + * Converts this GetIdentityBalanceAndRevisionRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest * @instance * @returns {Object.} JSON object */ - GetIdentitiesRequest.prototype.toJSON = function toJSON() { + GetIdentityBalanceAndRevisionRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentitiesRequest; - })(); - - v0.GetIdentitiesResponse = (function() { + GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 = (function() { - /** - * Properties of a GetIdentitiesResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesResponse - * @property {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities|null} [identities] GetIdentitiesResponse identities - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesResponse metadata - */ + /** + * Properties of a GetIdentityBalanceAndRevisionRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest + * @interface IGetIdentityBalanceAndRevisionRequestV0 + * @property {Uint8Array|null} [id] GetIdentityBalanceAndRevisionRequestV0 id + * @property {boolean|null} [prove] GetIdentityBalanceAndRevisionRequestV0 prove + */ - /** - * Constructs a new GetIdentitiesResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesResponse. - * @implements IGetIdentitiesResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse=} [properties] Properties to set - */ - function GetIdentitiesResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new GetIdentityBalanceAndRevisionRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest + * @classdesc Represents a GetIdentityBalanceAndRevisionRequestV0. + * @implements IGetIdentityBalanceAndRevisionRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.IGetIdentityBalanceAndRevisionRequestV0=} [properties] Properties to set + */ + function GetIdentityBalanceAndRevisionRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * GetIdentitiesResponse identities. - * @member {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities|null|undefined} identities - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @instance - */ - GetIdentitiesResponse.prototype.identities = null; + /** + * GetIdentityBalanceAndRevisionRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @instance + */ + GetIdentityBalanceAndRevisionRequestV0.prototype.id = $util.newBuffer([]); - /** - * GetIdentitiesResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @instance - */ - GetIdentitiesResponse.prototype.proof = null; + /** + * GetIdentityBalanceAndRevisionRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @instance + */ + GetIdentityBalanceAndRevisionRequestV0.prototype.prove = false; - /** - * GetIdentitiesResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @instance - */ - GetIdentitiesResponse.prototype.metadata = null; + /** + * Creates a new GetIdentityBalanceAndRevisionRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.IGetIdentityBalanceAndRevisionRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} GetIdentityBalanceAndRevisionRequestV0 instance + */ + GetIdentityBalanceAndRevisionRequestV0.create = function create(properties) { + return new GetIdentityBalanceAndRevisionRequestV0(properties); + }; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Encodes the specified GetIdentityBalanceAndRevisionRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.IGetIdentityBalanceAndRevisionRequestV0} message GetIdentityBalanceAndRevisionRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceAndRevisionRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetIdentityBalanceAndRevisionRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.IGetIdentityBalanceAndRevisionRequestV0} message GetIdentityBalanceAndRevisionRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceAndRevisionRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityBalanceAndRevisionRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} GetIdentityBalanceAndRevisionRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceAndRevisionRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityBalanceAndRevisionRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} GetIdentityBalanceAndRevisionRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceAndRevisionRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityBalanceAndRevisionRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityBalanceAndRevisionRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetIdentityBalanceAndRevisionRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} GetIdentityBalanceAndRevisionRequestV0 + */ + GetIdentityBalanceAndRevisionRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0(); + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length >= 0) + message.id = object.id; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetIdentityBalanceAndRevisionRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} message GetIdentityBalanceAndRevisionRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityBalanceAndRevisionRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetIdentityBalanceAndRevisionRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityBalanceAndRevisionRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetIdentityBalanceAndRevisionRequestV0; + })(); + + return GetIdentityBalanceAndRevisionRequest; + })(); + + v0.GetIdentityResponse = (function() { /** - * GetIdentitiesResponse result. - * @member {"identities"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * Properties of a GetIdentityResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentityResponse + * @property {org.dash.platform.dapi.v0.GetIdentityResponse.IGetIdentityResponseV0|null} [v0] GetIdentityResponse v0 + */ + + /** + * Constructs a new GetIdentityResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentityResponse. + * @implements IGetIdentityResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentityResponse=} [properties] Properties to set + */ + function GetIdentityResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentityResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityResponse.IGetIdentityResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @instance + */ + GetIdentityResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @instance */ - Object.defineProperty(GetIdentitiesResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["identities", "proof"]), + Object.defineProperty(GetIdentityResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesResponse instance using the specified properties. + * Creates a new GetIdentityResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentityResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse instance */ - GetIdentitiesResponse.create = function create(properties) { - return new GetIdentitiesResponse(properties); + GetIdentityResponse.create = function create(properties) { + return new GetIdentityResponse(properties); }; /** - * Encodes the specified GetIdentitiesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.verify|verify} messages. + * Encodes the specified GetIdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse} message GetIdentitiesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityResponse} message GetIdentityResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesResponse.encode = function encode(message, writer) { + GetIdentityResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identities != null && Object.hasOwnProperty.call(message, "identities")) - $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.encode(message.identities, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.verify|verify} messages. + * Encodes the specified GetIdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse} message GetIdentitiesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityResponse} message GetIdentityResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesResponse message from the specified reader or buffer. + * Decodes a GetIdentityResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesResponse.decode = function decode(reader, length) { + GetIdentityResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -2683,148 +3227,116 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentityResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesResponse message. + * Verifies a GetIdentityResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesResponse.verify = function verify(message) { + GetIdentityResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.identities != null && message.hasOwnProperty("identities")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.verify(message.identities); - if (error) - return "identities." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; /** - * Creates a GetIdentitiesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse} GetIdentityResponse */ - GetIdentitiesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse) + GetIdentityResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse(); - if (object.identities != null) { - if (typeof object.identities !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.identities: object expected"); - message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.fromObject(object.identities); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentitiesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse} message GetIdentitiesResponse + * @param {org.dash.platform.dapi.v0.GetIdentityResponse} message GetIdentityResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesResponse.toObject = function toObject(message, options) { + GetIdentityResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.identities != null && message.hasOwnProperty("identities")) { - object.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(message.identities, options); - if (options.oneofs) - object.result = "identities"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(message.v0, options); if (options.oneofs) - object.result = "proof"; + object.version = "v0"; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetIdentitiesResponse to JSON. + * Converts this GetIdentityResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse * @instance * @returns {Object.} JSON object */ - GetIdentitiesResponse.prototype.toJSON = function toJSON() { + GetIdentityResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesResponse.IdentityValue = (function() { + GetIdentityResponse.GetIdentityResponseV0 = (function() { /** - * Properties of an IdentityValue. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @interface IIdentityValue - * @property {Uint8Array|null} [value] IdentityValue value + * Properties of a GetIdentityResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @interface IGetIdentityResponseV0 + * @property {Uint8Array|null} [identity] GetIdentityResponseV0 identity + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityResponseV0 metadata */ /** - * Constructs a new IdentityValue. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @classdesc Represents an IdentityValue. - * @implements IIdentityValue + * Constructs a new GetIdentityResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse + * @classdesc Represents a GetIdentityResponseV0. + * @implements IGetIdentityResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityResponse.IGetIdentityResponseV0=} [properties] Properties to set */ - function IdentityValue(properties) { + function GetIdentityResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -2832,285 +3344,115 @@ $root.org = (function() { } /** - * IdentityValue value. - * @member {Uint8Array} value - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue + * GetIdentityResponseV0 identity. + * @member {Uint8Array} identity + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @instance */ - IdentityValue.prototype.value = $util.newBuffer([]); + GetIdentityResponseV0.prototype.identity = $util.newBuffer([]); /** - * Creates a new IdentityValue instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue instance + * GetIdentityResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 + * @instance */ - IdentityValue.create = function create(properties) { - return new IdentityValue(properties); - }; + GetIdentityResponseV0.prototype.proof = null; /** - * Encodes the specified IdentityValue message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue} message IdentityValue message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * GetIdentityResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 + * @instance */ - IdentityValue.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); - return writer; - }; - - /** - * Encodes the specified IdentityValue message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue} message IdentityValue message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentityValue.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an IdentityValue message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentityValue.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.value = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an IdentityValue message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentityValue.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an IdentityValue message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IdentityValue.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - return null; - }; - - /** - * Creates an IdentityValue message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue - */ - IdentityValue.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue(); - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length >= 0) - message.value = object.value; - return message; - }; - - /** - * Creates a plain object from an IdentityValue message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message IdentityValue - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IdentityValue.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - return object; - }; + GetIdentityResponseV0.prototype.metadata = null; - /** - * Converts this IdentityValue to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue - * @instance - * @returns {Object.} JSON object - */ - IdentityValue.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IdentityValue; - })(); - - GetIdentitiesResponse.IdentityEntry = (function() { - - /** - * Properties of an IdentityEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @interface IIdentityEntry - * @property {Uint8Array|null} [key] IdentityEntry key - * @property {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue|null} [value] IdentityEntry value - */ - - /** - * Constructs a new IdentityEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @classdesc Represents an IdentityEntry. - * @implements IIdentityEntry - * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry=} [properties] Properties to set - */ - function IdentityEntry(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IdentityEntry key. - * @member {Uint8Array} key - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry - * @instance - */ - IdentityEntry.prototype.key = $util.newBuffer([]); + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * IdentityEntry value. - * @member {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue|null|undefined} value - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * GetIdentityResponseV0 result. + * @member {"identity"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @instance */ - IdentityEntry.prototype.value = null; + Object.defineProperty(GetIdentityResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new IdentityEntry instance using the specified properties. + * Creates a new GetIdentityResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry instance + * @param {org.dash.platform.dapi.v0.GetIdentityResponse.IGetIdentityResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} GetIdentityResponseV0 instance */ - IdentityEntry.create = function create(properties) { - return new IdentityEntry(properties); + GetIdentityResponseV0.create = function create(properties) { + return new GetIdentityResponseV0(properties); }; /** - * Encodes the specified IdentityEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.verify|verify} messages. + * Encodes the specified GetIdentityResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry} message IdentityEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityResponse.IGetIdentityResponseV0} message GetIdentityResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityEntry.encode = function encode(message, writer) { + GetIdentityResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identity); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified IdentityEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.verify|verify} messages. + * Encodes the specified GetIdentityResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry} message IdentityEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityResponse.IGetIdentityResponseV0} message GetIdentityResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityEntry.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an IdentityEntry message from the specified reader or buffer. + * Decodes a GetIdentityResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} GetIdentityResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityEntry.decode = function decode(reader, length) { + GetIdentityResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.key = reader.bytes(); + message.identity = reader.bytes(); break; case 2: - message.value = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.decode(reader, reader.uint32()); + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -3121,131 +3463,361 @@ $root.org = (function() { }; /** - * Decodes an IdentityEntry message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} GetIdentityResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityEntry.decodeDelimited = function decodeDelimited(reader) { + GetIdentityResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an IdentityEntry message. + * Verifies a GetIdentityResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IdentityEntry.verify = function verify(message) { + GetIdentityResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.verify(message.value); + var properties = {}; + if (message.identity != null && message.hasOwnProperty("identity")) { + properties.result = 1; + if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity))) + return "identity: buffer expected"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); if (error) - return "value." + error; + return "metadata." + error; } return null; }; /** - * Creates an IdentityEntry message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} GetIdentityResponseV0 */ - IdentityEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry) + GetIdentityResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length >= 0) - message.key = object.key; - if (object.value != null) { - if (typeof object.value !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.value: object expected"); - message.value = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.fromObject(object.value); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0(); + if (object.identity != null) + if (typeof object.identity === "string") + $util.base64.decode(object.identity, message.identity = $util.newBuffer($util.base64.length(object.identity)), 0); + else if (object.identity.length >= 0) + message.identity = object.identity; + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from an IdentityEntry message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message IdentityEntry + * @param {org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} message GetIdentityResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - IdentityEntry.toObject = function toObject(message, options) { + GetIdentityResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - object.value = null; + if (options.defaults) + object.metadata = null; + if (message.identity != null && message.hasOwnProperty("identity")) { + object.identity = options.bytes === String ? $util.base64.encode(message.identity, 0, message.identity.length) : options.bytes === Array ? Array.prototype.slice.call(message.identity) : message.identity; + if (options.oneofs) + object.result = "identity"; } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(message.value, options); + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this IdentityEntry to JSON. + * Converts this GetIdentityResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 * @instance * @returns {Object.} JSON object */ - IdentityEntry.prototype.toJSON = function toJSON() { + GetIdentityResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return IdentityEntry; + return GetIdentityResponseV0; })(); - GetIdentitiesResponse.Identities = (function() { + return GetIdentityResponse; + })(); + + v0.GetIdentitiesRequest = (function() { + + /** + * Properties of a GetIdentitiesRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentitiesRequest + * @property {org.dash.platform.dapi.v0.GetIdentitiesRequest.IGetIdentitiesRequestV0|null} [v0] GetIdentitiesRequest v0 + */ + + /** + * Constructs a new GetIdentitiesRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentitiesRequest. + * @implements IGetIdentitiesRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest=} [properties] Properties to set + */ + function GetIdentitiesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentitiesRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesRequest.IGetIdentitiesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @instance + */ + GetIdentitiesRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentitiesRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @instance + */ + Object.defineProperty(GetIdentitiesRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentitiesRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest instance + */ + GetIdentitiesRequest.create = function create(properties) { + return new GetIdentitiesRequest(properties); + }; + + /** + * Encodes the specified GetIdentitiesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest} message GetIdentitiesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentitiesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesRequest} message GetIdentitiesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentitiesRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentitiesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentitiesRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentitiesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetIdentitiesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest} GetIdentitiesRequest + */ + GetIdentitiesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentitiesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesRequest} message GetIdentitiesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentitiesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetIdentitiesRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @instance + * @returns {Object.} JSON object + */ + GetIdentitiesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentitiesRequest.GetIdentitiesRequestV0 = (function() { /** - * Properties of an Identities. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @interface IIdentities - * @property {Array.|null} [identityEntries] Identities identityEntries + * Properties of a GetIdentitiesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @interface IGetIdentitiesRequestV0 + * @property {Array.|null} [ids] GetIdentitiesRequestV0 ids + * @property {boolean|null} [prove] GetIdentitiesRequestV0 prove */ /** - * Constructs a new Identities. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse - * @classdesc Represents an Identities. - * @implements IIdentities + * Constructs a new GetIdentitiesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest + * @classdesc Represents a GetIdentitiesRequestV0. + * @implements IGetIdentitiesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesRequest.IGetIdentitiesRequestV0=} [properties] Properties to set */ - function Identities(properties) { - this.identityEntries = []; + function GetIdentitiesRequestV0(properties) { + this.ids = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -3253,78 +3825,91 @@ $root.org = (function() { } /** - * Identities identityEntries. - * @member {Array.} identityEntries - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * GetIdentitiesRequestV0 ids. + * @member {Array.} ids + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @instance */ - Identities.prototype.identityEntries = $util.emptyArray; + GetIdentitiesRequestV0.prototype.ids = $util.emptyArray; /** - * Creates a new Identities instance using the specified properties. + * GetIdentitiesRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 + * @instance + */ + GetIdentitiesRequestV0.prototype.prove = false; + + /** + * Creates a new GetIdentitiesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesRequest.IGetIdentitiesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} GetIdentitiesRequestV0 instance */ - Identities.create = function create(properties) { - return new Identities(properties); + GetIdentitiesRequestV0.create = function create(properties) { + return new GetIdentitiesRequestV0(properties); }; /** - * Encodes the specified Identities message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.verify|verify} messages. + * Encodes the specified GetIdentitiesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities} message Identities message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesRequest.IGetIdentitiesRequestV0} message GetIdentitiesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Identities.encode = function encode(message, writer) { + GetIdentitiesRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identityEntries != null && message.identityEntries.length) - for (var i = 0; i < message.identityEntries.length; ++i) - $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.encode(message.identityEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.ids != null && message.ids.length) + for (var i = 0; i < message.ids.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ids[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified Identities message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.verify|verify} messages. + * Encodes the specified GetIdentitiesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities} message Identities message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesRequest.IGetIdentitiesRequestV0} message GetIdentitiesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Identities.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Identities message from the specified reader or buffer. + * Decodes a GetIdentitiesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} GetIdentitiesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Identities.decode = function decode(reader, length) { + GetIdentitiesRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.identityEntries && message.identityEntries.length)) - message.identityEntries = []; - message.identityEntries.push($root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.decode(reader, reader.uint32())); + if (!(message.ids && message.ids.length)) + message.ids = []; + message.ids.push(reader.bytes()); + break; + case 2: + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -3335,129 +3920,134 @@ $root.org = (function() { }; /** - * Decodes an Identities message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} GetIdentitiesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Identities.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Identities message. + * Verifies a GetIdentitiesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Identities.verify = function verify(message) { + GetIdentitiesRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identityEntries != null && message.hasOwnProperty("identityEntries")) { - if (!Array.isArray(message.identityEntries)) - return "identityEntries: array expected"; - for (var i = 0; i < message.identityEntries.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.verify(message.identityEntries[i]); - if (error) - return "identityEntries." + error; - } + if (message.ids != null && message.hasOwnProperty("ids")) { + if (!Array.isArray(message.ids)) + return "ids: array expected"; + for (var i = 0; i < message.ids.length; ++i) + if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) + return "ids: buffer[] expected"; } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates an Identities message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities + * @returns {org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} GetIdentitiesRequestV0 */ - Identities.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities) + GetIdentitiesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities(); - if (object.identityEntries) { - if (!Array.isArray(object.identityEntries)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.identityEntries: array expected"); - message.identityEntries = []; - for (var i = 0; i < object.identityEntries.length; ++i) { - if (typeof object.identityEntries[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.identityEntries: object expected"); - message.identityEntries[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.fromObject(object.identityEntries[i]); - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0(); + if (object.ids) { + if (!Array.isArray(object.ids)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.ids: array expected"); + message.ids = []; + for (var i = 0; i < object.ids.length; ++i) + if (typeof object.ids[i] === "string") + $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); + else if (object.ids[i].length >= 0) + message.ids[i] = object.ids[i]; } + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from an Identities message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message Identities + * @param {org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} message GetIdentitiesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Identities.toObject = function toObject(message, options) { + GetIdentitiesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.identityEntries = []; - if (message.identityEntries && message.identityEntries.length) { - object.identityEntries = []; - for (var j = 0; j < message.identityEntries.length; ++j) - object.identityEntries[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(message.identityEntries[j], options); + object.ids = []; + if (options.defaults) + object.prove = false; + if (message.ids && message.ids.length) { + object.ids = []; + for (var j = 0; j < message.ids.length; ++j) + object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this Identities to JSON. + * Converts this GetIdentitiesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 * @instance * @returns {Object.} JSON object */ - Identities.prototype.toJSON = function toJSON() { + GetIdentitiesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Identities; + return GetIdentitiesRequestV0; })(); - return GetIdentitiesResponse; + return GetIdentitiesRequest; })(); - v0.GetIdentityBalanceResponse = (function() { + v0.GetIdentitiesResponse = (function() { /** - * Properties of a GetIdentityBalanceResponse. + * Properties of a GetIdentitiesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityBalanceResponse - * @property {google.protobuf.IUInt64Value|null} [balance] GetIdentityBalanceResponse balance - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityBalanceResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityBalanceResponse metadata + * @interface IGetIdentitiesResponse + * @property {org.dash.platform.dapi.v0.GetIdentitiesResponse.IGetIdentitiesResponseV0|null} [v0] GetIdentitiesResponse v0 */ /** - * Constructs a new GetIdentityBalanceResponse. + * Constructs a new GetIdentitiesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityBalanceResponse. - * @implements IGetIdentityBalanceResponse + * @classdesc Represents a GetIdentitiesResponse. + * @implements IGetIdentitiesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse=} [properties] Properties to set */ - function GetIdentityBalanceResponse(properties) { + function GetIdentitiesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -3465,115 +4055,89 @@ $root.org = (function() { } /** - * GetIdentityBalanceResponse balance. - * @member {google.protobuf.IUInt64Value|null|undefined} balance - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse - * @instance - */ - GetIdentityBalanceResponse.prototype.balance = null; - - /** - * GetIdentityBalanceResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse - * @instance - */ - GetIdentityBalanceResponse.prototype.proof = null; - - /** - * GetIdentityBalanceResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * GetIdentitiesResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesResponse.IGetIdentitiesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @instance */ - GetIdentityBalanceResponse.prototype.metadata = null; + GetIdentitiesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityBalanceResponse result. - * @member {"balance"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * GetIdentitiesResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @instance */ - Object.defineProperty(GetIdentityBalanceResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["balance", "proof"]), + Object.defineProperty(GetIdentitiesResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityBalanceResponse instance using the specified properties. + * Creates a new GetIdentitiesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse instance */ - GetIdentityBalanceResponse.create = function create(properties) { - return new GetIdentityBalanceResponse(properties); + GetIdentitiesResponse.create = function create(properties) { + return new GetIdentitiesResponse(properties); }; /** - * Encodes the specified GetIdentityBalanceResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse} message GetIdentityBalanceResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse} message GetIdentitiesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityBalanceResponse.encode = function encode(message, writer) { + GetIdentitiesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) - $root.google.protobuf.UInt64Value.encode(message.balance, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentityBalanceResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse} message GetIdentityBalanceResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesResponse} message GetIdentitiesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityBalanceResponse message from the specified reader or buffer. + * Decodes a GetIdentitiesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityBalanceResponse.decode = function decode(reader, length) { + GetIdentitiesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.balance = $root.google.protobuf.UInt64Value.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -3584,511 +4148,190 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityBalanceResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityBalanceResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityBalanceResponse message. + * Verifies a GetIdentitiesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityBalanceResponse.verify = function verify(message) { + GetIdentitiesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.balance != null && message.hasOwnProperty("balance")) { - properties.result = 1; - { - var error = $root.google.protobuf.UInt64Value.verify(message.balance); - if (error) - return "balance." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; /** - * Creates a GetIdentityBalanceResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse} GetIdentitiesResponse */ - GetIdentityBalanceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse) + GetIdentitiesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse(); - if (object.balance != null) { - if (typeof object.balance !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceResponse.balance: object expected"); - message.balance = $root.google.protobuf.UInt64Value.fromObject(object.balance); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentityBalanceResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message GetIdentityBalanceResponse + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse} message GetIdentitiesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityBalanceResponse.toObject = function toObject(message, options) { + GetIdentitiesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.balance != null && message.hasOwnProperty("balance")) { - object.balance = $root.google.protobuf.UInt64Value.toObject(message.balance, options); + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(message.v0, options); if (options.oneofs) - object.result = "balance"; + object.version = "v0"; } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetIdentityBalanceResponse to JSON. + * Converts this GetIdentitiesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse * @instance * @returns {Object.} JSON object */ - GetIdentityBalanceResponse.prototype.toJSON = function toJSON() { + GetIdentitiesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentityBalanceResponse; - })(); - - v0.GetIdentityBalanceAndRevisionResponse = (function() { - - /** - * Properties of a GetIdentityBalanceAndRevisionResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityBalanceAndRevisionResponse - * @property {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IBalanceAndRevision|null} [balanceAndRevision] GetIdentityBalanceAndRevisionResponse balanceAndRevision - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityBalanceAndRevisionResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityBalanceAndRevisionResponse metadata - */ - - /** - * Constructs a new GetIdentityBalanceAndRevisionResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityBalanceAndRevisionResponse. - * @implements IGetIdentityBalanceAndRevisionResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse=} [properties] Properties to set - */ - function GetIdentityBalanceAndRevisionResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + GetIdentitiesResponse.IdentityValue = (function() { - /** - * GetIdentityBalanceAndRevisionResponse balanceAndRevision. - * @member {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IBalanceAndRevision|null|undefined} balanceAndRevision - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @instance - */ - GetIdentityBalanceAndRevisionResponse.prototype.balanceAndRevision = null; + /** + * Properties of an IdentityValue. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @interface IIdentityValue + * @property {Uint8Array|null} [value] IdentityValue value + */ - /** - * GetIdentityBalanceAndRevisionResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @instance - */ - GetIdentityBalanceAndRevisionResponse.prototype.proof = null; + /** + * Constructs a new IdentityValue. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @classdesc Represents an IdentityValue. + * @implements IIdentityValue + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue=} [properties] Properties to set + */ + function IdentityValue(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * GetIdentityBalanceAndRevisionResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @instance - */ - GetIdentityBalanceAndRevisionResponse.prototype.metadata = null; + /** + * IdentityValue value. + * @member {Uint8Array} value + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue + * @instance + */ + IdentityValue.prototype.value = $util.newBuffer([]); - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Creates a new IdentityValue instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue instance + */ + IdentityValue.create = function create(properties) { + return new IdentityValue(properties); + }; - /** - * GetIdentityBalanceAndRevisionResponse result. - * @member {"balanceAndRevision"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @instance - */ - Object.defineProperty(GetIdentityBalanceAndRevisionResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["balanceAndRevision", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new GetIdentityBalanceAndRevisionResponse instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse instance - */ - GetIdentityBalanceAndRevisionResponse.create = function create(properties) { - return new GetIdentityBalanceAndRevisionResponse(properties); - }; - - /** - * Encodes the specified GetIdentityBalanceAndRevisionResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse} message GetIdentityBalanceAndRevisionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetIdentityBalanceAndRevisionResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.balanceAndRevision != null && Object.hasOwnProperty.call(message, "balanceAndRevision")) - $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.encode(message.balanceAndRevision, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetIdentityBalanceAndRevisionResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse} message GetIdentityBalanceAndRevisionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetIdentityBalanceAndRevisionResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetIdentityBalanceAndRevisionResponse message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetIdentityBalanceAndRevisionResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.balanceAndRevision = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetIdentityBalanceAndRevisionResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetIdentityBalanceAndRevisionResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetIdentityBalanceAndRevisionResponse message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetIdentityBalanceAndRevisionResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.balanceAndRevision != null && message.hasOwnProperty("balanceAndRevision")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.verify(message.balanceAndRevision); - if (error) - return "balanceAndRevision." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } - return null; - }; - - /** - * Creates a GetIdentityBalanceAndRevisionResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse - */ - GetIdentityBalanceAndRevisionResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse(); - if (object.balanceAndRevision != null) { - if (typeof object.balanceAndRevision !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.balanceAndRevision: object expected"); - message.balanceAndRevision = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.fromObject(object.balanceAndRevision); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; - - /** - * Creates a plain object from a GetIdentityBalanceAndRevisionResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message GetIdentityBalanceAndRevisionResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetIdentityBalanceAndRevisionResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.balanceAndRevision != null && message.hasOwnProperty("balanceAndRevision")) { - object.balanceAndRevision = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.toObject(message.balanceAndRevision, options); - if (options.oneofs) - object.result = "balanceAndRevision"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; - - /** - * Converts this GetIdentityBalanceAndRevisionResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @instance - * @returns {Object.} JSON object - */ - GetIdentityBalanceAndRevisionResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetIdentityBalanceAndRevisionResponse.BalanceAndRevision = (function() { - - /** - * Properties of a BalanceAndRevision. - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @interface IBalanceAndRevision - * @property {google.protobuf.IUInt64Value|null} [balance] BalanceAndRevision balance - * @property {google.protobuf.IUInt64Value|null} [revision] BalanceAndRevision revision - */ - - /** - * Constructs a new BalanceAndRevision. - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse - * @classdesc Represents a BalanceAndRevision. - * @implements IBalanceAndRevision - * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IBalanceAndRevision=} [properties] Properties to set - */ - function BalanceAndRevision(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BalanceAndRevision balance. - * @member {google.protobuf.IUInt64Value|null|undefined} balance - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision - * @instance - */ - BalanceAndRevision.prototype.balance = null; - - /** - * BalanceAndRevision revision. - * @member {google.protobuf.IUInt64Value|null|undefined} revision - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision - * @instance - */ - BalanceAndRevision.prototype.revision = null; - - /** - * Creates a new BalanceAndRevision instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IBalanceAndRevision=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} BalanceAndRevision instance - */ - BalanceAndRevision.create = function create(properties) { - return new BalanceAndRevision(properties); - }; - - /** - * Encodes the specified BalanceAndRevision message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IBalanceAndRevision} message BalanceAndRevision message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BalanceAndRevision.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) - $root.google.protobuf.UInt64Value.encode(message.balance, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.revision != null && Object.hasOwnProperty.call(message, "revision")) - $root.google.protobuf.UInt64Value.encode(message.revision, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified IdentityValue message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue} message IdentityValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); + return writer; + }; /** - * Encodes the specified BalanceAndRevision message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.verify|verify} messages. + * Encodes the specified IdentityValue message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue * @static - * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IBalanceAndRevision} message BalanceAndRevision message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue} message IdentityValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BalanceAndRevision.encodeDelimited = function encodeDelimited(message, writer) { + IdentityValue.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BalanceAndRevision message from the specified reader or buffer. + * Decodes an IdentityValue message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} BalanceAndRevision + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BalanceAndRevision.decode = function decode(reader, length) { + IdentityValue.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.balance = $root.google.protobuf.UInt64Value.decode(reader, reader.uint32()); - break; - case 2: - message.revision = $root.google.protobuf.UInt64Value.decode(reader, reader.uint32()); + message.value = reader.bytes(); break; default: reader.skipType(tag & 7); @@ -4099,407 +4342,824 @@ $root.org = (function() { }; /** - * Decodes a BalanceAndRevision message from the specified reader or buffer, length delimited. + * Decodes an IdentityValue message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} BalanceAndRevision + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BalanceAndRevision.decodeDelimited = function decodeDelimited(reader) { + IdentityValue.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BalanceAndRevision message. + * Verifies an IdentityValue message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BalanceAndRevision.verify = function verify(message) { + IdentityValue.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.balance != null && message.hasOwnProperty("balance")) { - var error = $root.google.protobuf.UInt64Value.verify(message.balance); - if (error) - return "balance." + error; - } - if (message.revision != null && message.hasOwnProperty("revision")) { - var error = $root.google.protobuf.UInt64Value.verify(message.revision); - if (error) - return "revision." + error; - } + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; return null; }; /** - * Creates a BalanceAndRevision message from a plain object. Also converts values to their respective internal types. + * Creates an IdentityValue message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} BalanceAndRevision + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} IdentityValue */ - BalanceAndRevision.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision) + IdentityValue.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision(); - if (object.balance != null) { - if (typeof object.balance !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.balance: object expected"); - message.balance = $root.google.protobuf.UInt64Value.fromObject(object.balance); - } - if (object.revision != null) { - if (typeof object.revision !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.revision: object expected"); - message.revision = $root.google.protobuf.UInt64Value.fromObject(object.revision); - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue(); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length >= 0) + message.value = object.value; return message; }; /** - * Creates a plain object from a BalanceAndRevision message. Also converts values to other types if specified. + * Creates a plain object from an IdentityValue message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue * @static - * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} message BalanceAndRevision + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message IdentityValue * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BalanceAndRevision.toObject = function toObject(message, options) { + IdentityValue.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.balance = null; - object.revision = null; - } - if (message.balance != null && message.hasOwnProperty("balance")) - object.balance = $root.google.protobuf.UInt64Value.toObject(message.balance, options); - if (message.revision != null && message.hasOwnProperty("revision")) - object.revision = $root.google.protobuf.UInt64Value.toObject(message.revision, options); - return object; - }; - - /** - * Converts this BalanceAndRevision to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision + if (options.defaults) + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this IdentityValue to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue * @instance * @returns {Object.} JSON object */ - BalanceAndRevision.prototype.toJSON = function toJSON() { + IdentityValue.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BalanceAndRevision; + return IdentityValue; })(); - return GetIdentityBalanceAndRevisionResponse; - })(); + GetIdentitiesResponse.IdentityEntry = (function() { - v0.KeyRequestType = (function() { + /** + * Properties of an IdentityEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @interface IIdentityEntry + * @property {Uint8Array|null} [key] IdentityEntry key + * @property {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue|null} [value] IdentityEntry value + */ - /** - * Properties of a KeyRequestType. - * @memberof org.dash.platform.dapi.v0 - * @interface IKeyRequestType - * @property {org.dash.platform.dapi.v0.IAllKeys|null} [allKeys] KeyRequestType allKeys - * @property {org.dash.platform.dapi.v0.ISpecificKeys|null} [specificKeys] KeyRequestType specificKeys - * @property {org.dash.platform.dapi.v0.ISearchKey|null} [searchKey] KeyRequestType searchKey - */ + /** + * Constructs a new IdentityEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @classdesc Represents an IdentityEntry. + * @implements IIdentityEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry=} [properties] Properties to set + */ + function IdentityEntry(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new KeyRequestType. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a KeyRequestType. - * @implements IKeyRequestType - * @constructor - * @param {org.dash.platform.dapi.v0.IKeyRequestType=} [properties] Properties to set - */ - function KeyRequestType(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * IdentityEntry key. + * @member {Uint8Array} key + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @instance + */ + IdentityEntry.prototype.key = $util.newBuffer([]); - /** - * KeyRequestType allKeys. - * @member {org.dash.platform.dapi.v0.IAllKeys|null|undefined} allKeys - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @instance - */ - KeyRequestType.prototype.allKeys = null; + /** + * IdentityEntry value. + * @member {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityValue|null|undefined} value + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @instance + */ + IdentityEntry.prototype.value = null; - /** - * KeyRequestType specificKeys. - * @member {org.dash.platform.dapi.v0.ISpecificKeys|null|undefined} specificKeys - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @instance - */ - KeyRequestType.prototype.specificKeys = null; + /** + * Creates a new IdentityEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry instance + */ + IdentityEntry.create = function create(properties) { + return new IdentityEntry(properties); + }; - /** - * KeyRequestType searchKey. - * @member {org.dash.platform.dapi.v0.ISearchKey|null|undefined} searchKey - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @instance - */ - KeyRequestType.prototype.searchKey = null; + /** + * Encodes the specified IdentityEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry} message IdentityEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Encodes the specified IdentityEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentityEntry} message IdentityEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * KeyRequestType request. - * @member {"allKeys"|"specificKeys"|"searchKey"|undefined} request - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @instance - */ - Object.defineProperty(KeyRequestType.prototype, "request", { - get: $util.oneOfGetter($oneOfFields = ["allKeys", "specificKeys", "searchKey"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Decodes an IdentityEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityEntry.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.value = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a new KeyRequestType instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {org.dash.platform.dapi.v0.IKeyRequestType=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType instance - */ - KeyRequestType.create = function create(properties) { - return new KeyRequestType(properties); - }; + /** + * Decodes an IdentityEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified KeyRequestType message. Does not implicitly {@link org.dash.platform.dapi.v0.KeyRequestType.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {org.dash.platform.dapi.v0.IKeyRequestType} message KeyRequestType message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - KeyRequestType.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.allKeys != null && Object.hasOwnProperty.call(message, "allKeys")) - $root.org.dash.platform.dapi.v0.AllKeys.encode(message.allKeys, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.specificKeys != null && Object.hasOwnProperty.call(message, "specificKeys")) - $root.org.dash.platform.dapi.v0.SpecificKeys.encode(message.specificKeys, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.searchKey != null && Object.hasOwnProperty.call(message, "searchKey")) - $root.org.dash.platform.dapi.v0.SearchKey.encode(message.searchKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; + /** + * Verifies an IdentityEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.value != null && message.hasOwnProperty("value")) { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.verify(message.value); + if (error) + return "value." + error; + } + return null; + }; - /** - * Encodes the specified KeyRequestType message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.KeyRequestType.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {org.dash.platform.dapi.v0.IKeyRequestType} message KeyRequestType message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - KeyRequestType.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates an IdentityEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} IdentityEntry + */ + IdentityEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry(); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length >= 0) + message.key = object.key; + if (object.value != null) { + if (typeof object.value !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.value: object expected"); + message.value = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.fromObject(object.value); + } + return message; + }; - /** - * Decodes a KeyRequestType message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - KeyRequestType.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.KeyRequestType(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.allKeys = $root.org.dash.platform.dapi.v0.AllKeys.decode(reader, reader.uint32()); - break; - case 2: - message.specificKeys = $root.org.dash.platform.dapi.v0.SpecificKeys.decode(reader, reader.uint32()); - break; - case 3: - message.searchKey = $root.org.dash.platform.dapi.v0.SearchKey.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Creates a plain object from an IdentityEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message IdentityEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + object.value = null; } + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(message.value, options); + return object; + }; + + /** + * Converts this IdentityEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry + * @instance + * @returns {Object.} JSON object + */ + IdentityEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IdentityEntry; + })(); + + GetIdentitiesResponse.Identities = (function() { + + /** + * Properties of an Identities. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @interface IIdentities + * @property {Array.|null} [identityEntries] Identities identityEntries + */ + + /** + * Constructs a new Identities. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @classdesc Represents an Identities. + * @implements IIdentities + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities=} [properties] Properties to set + */ + function Identities(properties) { + this.identityEntries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - /** - * Decodes a KeyRequestType message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - KeyRequestType.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Identities identityEntries. + * @member {Array.} identityEntries + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @instance + */ + Identities.prototype.identityEntries = $util.emptyArray; + + /** + * Creates a new Identities instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities instance + */ + Identities.create = function create(properties) { + return new Identities(properties); + }; + + /** + * Encodes the specified Identities message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities} message Identities message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Identities.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identityEntries != null && message.identityEntries.length) + for (var i = 0; i < message.identityEntries.length; ++i) + $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.encode(message.identityEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Identities message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities} message Identities message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Identities.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Identities message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Identities.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.identityEntries && message.identityEntries.length)) + message.identityEntries = []; + message.identityEntries.push($root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Identities message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Identities.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Identities message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Identities.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identityEntries != null && message.hasOwnProperty("identityEntries")) { + if (!Array.isArray(message.identityEntries)) + return "identityEntries: array expected"; + for (var i = 0; i < message.identityEntries.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.verify(message.identityEntries[i]); + if (error) + return "identityEntries." + error; + } + } + return null; + }; + + /** + * Creates an Identities message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} Identities + */ + Identities.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities(); + if (object.identityEntries) { + if (!Array.isArray(object.identityEntries)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.identityEntries: array expected"); + message.identityEntries = []; + for (var i = 0; i < object.identityEntries.length; ++i) { + if (typeof object.identityEntries[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.identityEntries: object expected"); + message.identityEntries[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.fromObject(object.identityEntries[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an Identities message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message Identities + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Identities.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.identityEntries = []; + if (message.identityEntries && message.identityEntries.length) { + object.identityEntries = []; + for (var j = 0; j < message.identityEntries.length; ++j) + object.identityEntries[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(message.identityEntries[j], options); + } + return object; + }; + + /** + * Converts this Identities to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities + * @instance + * @returns {Object.} JSON object + */ + Identities.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Identities; + })(); + + GetIdentitiesResponse.GetIdentitiesResponseV0 = (function() { + + /** + * Properties of a GetIdentitiesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @interface IGetIdentitiesResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities|null} [identities] GetIdentitiesResponseV0 identities + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesResponseV0 metadata + */ + + /** + * Constructs a new GetIdentitiesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse + * @classdesc Represents a GetIdentitiesResponseV0. + * @implements IGetIdentitiesResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IGetIdentitiesResponseV0=} [properties] Properties to set + */ + function GetIdentitiesResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentitiesResponseV0 identities. + * @member {org.dash.platform.dapi.v0.GetIdentitiesResponse.IIdentities|null|undefined} identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @instance + */ + GetIdentitiesResponseV0.prototype.identities = null; + + /** + * GetIdentitiesResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @instance + */ + GetIdentitiesResponseV0.prototype.proof = null; + + /** + * GetIdentitiesResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @instance + */ + GetIdentitiesResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentitiesResponseV0 result. + * @member {"identities"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @instance + */ + Object.defineProperty(GetIdentitiesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identities", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentitiesResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IGetIdentitiesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} GetIdentitiesResponseV0 instance + */ + GetIdentitiesResponseV0.create = function create(properties) { + return new GetIdentitiesResponseV0(properties); + }; + + /** + * Encodes the specified GetIdentitiesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IGetIdentitiesResponseV0} message GetIdentitiesResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identities != null && Object.hasOwnProperty.call(message, "identities")) + $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.encode(message.identities, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentitiesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.IGetIdentitiesResponseV0} message GetIdentitiesResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentitiesResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} GetIdentitiesResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Verifies a KeyRequestType message. - * @function verify - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - KeyRequestType.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.allKeys != null && message.hasOwnProperty("allKeys")) { - properties.request = 1; - { - var error = $root.org.dash.platform.dapi.v0.AllKeys.verify(message.allKeys); - if (error) - return "allKeys." + error; + /** + * Decodes a GetIdentitiesResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} GetIdentitiesResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentitiesResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentitiesResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.identities != null && message.hasOwnProperty("identities")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.verify(message.identities); + if (error) + return "identities." + error; + } } - } - if (message.specificKeys != null && message.hasOwnProperty("specificKeys")) { - if (properties.request === 1) - return "request: multiple values"; - properties.request = 1; - { - var error = $root.org.dash.platform.dapi.v0.SpecificKeys.verify(message.specificKeys); - if (error) - return "specificKeys." + error; + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } } - } - if (message.searchKey != null && message.hasOwnProperty("searchKey")) { - if (properties.request === 1) - return "request: multiple values"; - properties.request = 1; - { - var error = $root.org.dash.platform.dapi.v0.SearchKey.verify(message.searchKey); + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); if (error) - return "searchKey." + error; + return "metadata." + error; } - } - return null; - }; + return null; + }; - /** - * Creates a KeyRequestType message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType - */ - KeyRequestType.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.KeyRequestType) + /** + * Creates a GetIdentitiesResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} GetIdentitiesResponseV0 + */ + GetIdentitiesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0(); + if (object.identities != null) { + if (typeof object.identities !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.identities: object expected"); + message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.fromObject(object.identities); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentitiesResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} message GetIdentitiesResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentitiesResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.identities != null && message.hasOwnProperty("identities")) { + object.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(message.identities, options); + if (options.oneofs) + object.result = "identities"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; - var message = new $root.org.dash.platform.dapi.v0.KeyRequestType(); - if (object.allKeys != null) { - if (typeof object.allKeys !== "object") - throw TypeError(".org.dash.platform.dapi.v0.KeyRequestType.allKeys: object expected"); - message.allKeys = $root.org.dash.platform.dapi.v0.AllKeys.fromObject(object.allKeys); - } - if (object.specificKeys != null) { - if (typeof object.specificKeys !== "object") - throw TypeError(".org.dash.platform.dapi.v0.KeyRequestType.specificKeys: object expected"); - message.specificKeys = $root.org.dash.platform.dapi.v0.SpecificKeys.fromObject(object.specificKeys); - } - if (object.searchKey != null) { - if (typeof object.searchKey !== "object") - throw TypeError(".org.dash.platform.dapi.v0.KeyRequestType.searchKey: object expected"); - message.searchKey = $root.org.dash.platform.dapi.v0.SearchKey.fromObject(object.searchKey); - } - return message; - }; + }; - /** - * Creates a plain object from a KeyRequestType message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @static - * @param {org.dash.platform.dapi.v0.KeyRequestType} message KeyRequestType - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - KeyRequestType.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.allKeys != null && message.hasOwnProperty("allKeys")) { - object.allKeys = $root.org.dash.platform.dapi.v0.AllKeys.toObject(message.allKeys, options); - if (options.oneofs) - object.request = "allKeys"; - } - if (message.specificKeys != null && message.hasOwnProperty("specificKeys")) { - object.specificKeys = $root.org.dash.platform.dapi.v0.SpecificKeys.toObject(message.specificKeys, options); - if (options.oneofs) - object.request = "specificKeys"; - } - if (message.searchKey != null && message.hasOwnProperty("searchKey")) { - object.searchKey = $root.org.dash.platform.dapi.v0.SearchKey.toObject(message.searchKey, options); - if (options.oneofs) - object.request = "searchKey"; - } - return object; - }; + /** + * Converts this GetIdentitiesResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentitiesResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this KeyRequestType to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.KeyRequestType - * @instance - * @returns {Object.} JSON object - */ - KeyRequestType.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return GetIdentitiesResponseV0; + })(); - return KeyRequestType; + return GetIdentitiesResponse; })(); - v0.AllKeys = (function() { + v0.GetIdentityBalanceResponse = (function() { /** - * Properties of an AllKeys. + * Properties of a GetIdentityBalanceResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IAllKeys + * @interface IGetIdentityBalanceResponse + * @property {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.IGetIdentityBalanceResponseV0|null} [v0] GetIdentityBalanceResponse v0 */ /** - * Constructs a new AllKeys. + * Constructs a new GetIdentityBalanceResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents an AllKeys. - * @implements IAllKeys + * @classdesc Represents a GetIdentityBalanceResponse. + * @implements IGetIdentityBalanceResponse * @constructor - * @param {org.dash.platform.dapi.v0.IAllKeys=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse=} [properties] Properties to set */ - function AllKeys(properties) { + function GetIdentityBalanceResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4507,63 +5167,90 @@ $root.org = (function() { } /** - * Creates a new AllKeys instance using the specified properties. + * GetIdentityBalanceResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.IGetIdentityBalanceResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @instance + */ + GetIdentityBalanceResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityBalanceResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @instance + */ + Object.defineProperty(GetIdentityBalanceResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityBalanceResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IAllKeys=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys instance + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse instance */ - AllKeys.create = function create(properties) { - return new AllKeys(properties); + GetIdentityBalanceResponse.create = function create(properties) { + return new GetIdentityBalanceResponse(properties); }; /** - * Encodes the specified AllKeys message. Does not implicitly {@link org.dash.platform.dapi.v0.AllKeys.verify|verify} messages. + * Encodes the specified GetIdentityBalanceResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IAllKeys} message AllKeys message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse} message GetIdentityBalanceResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AllKeys.encode = function encode(message, writer) { + GetIdentityBalanceResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AllKeys message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.AllKeys.verify|verify} messages. + * Encodes the specified GetIdentityBalanceResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IAllKeys} message AllKeys message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceResponse} message GetIdentityBalanceResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AllKeys.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AllKeys message from the specified reader or buffer. + * Decodes a GetIdentityBalanceResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AllKeys.decode = function decode(reader, length) { + GetIdentityBalanceResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.AllKeys(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -4573,95 +5260,394 @@ $root.org = (function() { }; /** - * Decodes an AllKeys message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityBalanceResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AllKeys.decodeDelimited = function decodeDelimited(reader) { + GetIdentityBalanceResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AllKeys message. + * Verifies a GetIdentityBalanceResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AllKeys.verify = function verify(message) { + GetIdentityBalanceResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } return null; }; /** - * Creates an AllKeys message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityBalanceResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} GetIdentityBalanceResponse */ - AllKeys.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.AllKeys) + GetIdentityBalanceResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse) return object; - return new $root.org.dash.platform.dapi.v0.AllKeys(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.fromObject(object.v0); + } + return message; }; /** - * Creates a plain object from an AllKeys message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityBalanceResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.AllKeys} message AllKeys + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message GetIdentityBalanceResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AllKeys.toObject = function toObject() { - return {}; + GetIdentityBalanceResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; }; /** - * Converts this AllKeys to JSON. + * Converts this GetIdentityBalanceResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.AllKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse * @instance * @returns {Object.} JSON object */ - AllKeys.prototype.toJSON = function toJSON() { + GetIdentityBalanceResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AllKeys; + GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 = (function() { + + /** + * Properties of a GetIdentityBalanceResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @interface IGetIdentityBalanceResponseV0 + * @property {number|Long|null} [balance] GetIdentityBalanceResponseV0 balance + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityBalanceResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityBalanceResponseV0 metadata + */ + + /** + * Constructs a new GetIdentityBalanceResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse + * @classdesc Represents a GetIdentityBalanceResponseV0. + * @implements IGetIdentityBalanceResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.IGetIdentityBalanceResponseV0=} [properties] Properties to set + */ + function GetIdentityBalanceResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentityBalanceResponseV0 balance. + * @member {number|Long} balance + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @instance + */ + GetIdentityBalanceResponseV0.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * GetIdentityBalanceResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @instance + */ + GetIdentityBalanceResponseV0.prototype.proof = null; + + /** + * GetIdentityBalanceResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @instance + */ + GetIdentityBalanceResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityBalanceResponseV0 result. + * @member {"balance"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @instance + */ + Object.defineProperty(GetIdentityBalanceResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["balance", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityBalanceResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.IGetIdentityBalanceResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} GetIdentityBalanceResponseV0 instance + */ + GetIdentityBalanceResponseV0.create = function create(properties) { + return new GetIdentityBalanceResponseV0(properties); + }; + + /** + * Encodes the specified GetIdentityBalanceResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.IGetIdentityBalanceResponseV0} message GetIdentityBalanceResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.balance); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentityBalanceResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.IGetIdentityBalanceResponseV0} message GetIdentityBalanceResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityBalanceResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} GetIdentityBalanceResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.balance = reader.uint64(); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityBalanceResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} GetIdentityBalanceResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityBalanceResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityBalanceResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.balance != null && message.hasOwnProperty("balance")) { + properties.result = 1; + if (!$util.isInteger(message.balance) && !(message.balance && $util.isInteger(message.balance.low) && $util.isInteger(message.balance.high))) + return "balance: integer|Long expected"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetIdentityBalanceResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} GetIdentityBalanceResponseV0 + */ + GetIdentityBalanceResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0(); + if (object.balance != null) + if ($util.Long) + (message.balance = $util.Long.fromValue(object.balance)).unsigned = true; + else if (typeof object.balance === "string") + message.balance = parseInt(object.balance, 10); + else if (typeof object.balance === "number") + message.balance = object.balance; + else if (typeof object.balance === "object") + message.balance = new $util.LongBits(object.balance.low >>> 0, object.balance.high >>> 0).toNumber(true); + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentityBalanceResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} message GetIdentityBalanceResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityBalanceResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.balance != null && message.hasOwnProperty("balance")) { + if (typeof message.balance === "number") + object.balance = options.longs === String ? String(message.balance) : message.balance; + else + object.balance = options.longs === String ? $util.Long.prototype.toString.call(message.balance) : options.longs === Number ? new $util.LongBits(message.balance.low >>> 0, message.balance.high >>> 0).toNumber(true) : message.balance; + if (options.oneofs) + object.result = "balance"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetIdentityBalanceResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityBalanceResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetIdentityBalanceResponseV0; + })(); + + return GetIdentityBalanceResponse; })(); - v0.SpecificKeys = (function() { + v0.GetIdentityBalanceAndRevisionResponse = (function() { /** - * Properties of a SpecificKeys. + * Properties of a GetIdentityBalanceAndRevisionResponse. * @memberof org.dash.platform.dapi.v0 - * @interface ISpecificKeys - * @property {Array.|null} [keyIds] SpecificKeys keyIds + * @interface IGetIdentityBalanceAndRevisionResponse + * @property {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IGetIdentityBalanceAndRevisionResponseV0|null} [v0] GetIdentityBalanceAndRevisionResponse v0 */ /** - * Constructs a new SpecificKeys. + * Constructs a new GetIdentityBalanceAndRevisionResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a SpecificKeys. - * @implements ISpecificKeys + * @classdesc Represents a GetIdentityBalanceAndRevisionResponse. + * @implements IGetIdentityBalanceAndRevisionResponse * @constructor - * @param {org.dash.platform.dapi.v0.ISpecificKeys=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse=} [properties] Properties to set */ - function SpecificKeys(properties) { - this.keyIds = []; + function GetIdentityBalanceAndRevisionResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4669,86 +5655,89 @@ $root.org = (function() { } /** - * SpecificKeys keyIds. - * @member {Array.} keyIds - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * GetIdentityBalanceAndRevisionResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IGetIdentityBalanceAndRevisionResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @instance */ - SpecificKeys.prototype.keyIds = $util.emptyArray; + GetIdentityBalanceAndRevisionResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * Creates a new SpecificKeys instance using the specified properties. + * GetIdentityBalanceAndRevisionResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse + * @instance + */ + Object.defineProperty(GetIdentityBalanceAndRevisionResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityBalanceAndRevisionResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @static - * @param {org.dash.platform.dapi.v0.ISpecificKeys=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys instance + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse instance */ - SpecificKeys.create = function create(properties) { - return new SpecificKeys(properties); + GetIdentityBalanceAndRevisionResponse.create = function create(properties) { + return new GetIdentityBalanceAndRevisionResponse(properties); }; /** - * Encodes the specified SpecificKeys message. Does not implicitly {@link org.dash.platform.dapi.v0.SpecificKeys.verify|verify} messages. + * Encodes the specified GetIdentityBalanceAndRevisionResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @static - * @param {org.dash.platform.dapi.v0.ISpecificKeys} message SpecificKeys message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse} message GetIdentityBalanceAndRevisionResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SpecificKeys.encode = function encode(message, writer) { + GetIdentityBalanceAndRevisionResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.keyIds != null && message.keyIds.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.keyIds.length; ++i) - writer.uint32(message.keyIds[i]); - writer.ldelim(); - } + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified SpecificKeys message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.SpecificKeys.verify|verify} messages. + * Encodes the specified GetIdentityBalanceAndRevisionResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @static - * @param {org.dash.platform.dapi.v0.ISpecificKeys} message SpecificKeys message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityBalanceAndRevisionResponse} message GetIdentityBalanceAndRevisionResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SpecificKeys.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityBalanceAndRevisionResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SpecificKeys message from the specified reader or buffer. + * Decodes a GetIdentityBalanceAndRevisionResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpecificKeys.decode = function decode(reader, length) { + GetIdentityBalanceAndRevisionResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.SpecificKeys(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.keyIds && message.keyIds.length)) - message.keyIds = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.keyIds.push(reader.uint32()); - } else - message.keyIds.push(reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -4759,120 +5748,630 @@ $root.org = (function() { }; /** - * Decodes a SpecificKeys message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityBalanceAndRevisionResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpecificKeys.decodeDelimited = function decodeDelimited(reader) { + GetIdentityBalanceAndRevisionResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SpecificKeys message. + * Verifies a GetIdentityBalanceAndRevisionResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SpecificKeys.verify = function verify(message) { + GetIdentityBalanceAndRevisionResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.keyIds != null && message.hasOwnProperty("keyIds")) { - if (!Array.isArray(message.keyIds)) - return "keyIds: array expected"; - for (var i = 0; i < message.keyIds.length; ++i) - if (!$util.isInteger(message.keyIds[i])) - return "keyIds: integer[] expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } } return null; }; /** - * Creates a SpecificKeys message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityBalanceAndRevisionResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.SpecificKeys + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} GetIdentityBalanceAndRevisionResponse */ - SpecificKeys.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.SpecificKeys) + GetIdentityBalanceAndRevisionResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.SpecificKeys(); - if (object.keyIds) { - if (!Array.isArray(object.keyIds)) - throw TypeError(".org.dash.platform.dapi.v0.SpecificKeys.keyIds: array expected"); - message.keyIds = []; - for (var i = 0; i < object.keyIds.length; ++i) - message.keyIds[i] = object.keyIds[i] >>> 0; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.fromObject(object.v0); } return message; }; - /** - * Creates a plain object from a SpecificKeys message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.SpecificKeys - * @static - * @param {org.dash.platform.dapi.v0.SpecificKeys} message SpecificKeys - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SpecificKeys.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.keyIds = []; - if (message.keyIds && message.keyIds.length) { - object.keyIds = []; - for (var j = 0; j < message.keyIds.length; ++j) - object.keyIds[j] = message.keyIds[j]; - } - return object; - }; + /** + * Creates a plain object from a GetIdentityBalanceAndRevisionResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message GetIdentityBalanceAndRevisionResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityBalanceAndRevisionResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetIdentityBalanceAndRevisionResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse + * @instance + * @returns {Object.} JSON object + */ + GetIdentityBalanceAndRevisionResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 = (function() { + + /** + * Properties of a GetIdentityBalanceAndRevisionResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse + * @interface IGetIdentityBalanceAndRevisionResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.IBalanceAndRevision|null} [balanceAndRevision] GetIdentityBalanceAndRevisionResponseV0 balanceAndRevision + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityBalanceAndRevisionResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityBalanceAndRevisionResponseV0 metadata + */ + + /** + * Constructs a new GetIdentityBalanceAndRevisionResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse + * @classdesc Represents a GetIdentityBalanceAndRevisionResponseV0. + * @implements IGetIdentityBalanceAndRevisionResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IGetIdentityBalanceAndRevisionResponseV0=} [properties] Properties to set + */ + function GetIdentityBalanceAndRevisionResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentityBalanceAndRevisionResponseV0 balanceAndRevision. + * @member {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.IBalanceAndRevision|null|undefined} balanceAndRevision + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @instance + */ + GetIdentityBalanceAndRevisionResponseV0.prototype.balanceAndRevision = null; + + /** + * GetIdentityBalanceAndRevisionResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @instance + */ + GetIdentityBalanceAndRevisionResponseV0.prototype.proof = null; + + /** + * GetIdentityBalanceAndRevisionResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @instance + */ + GetIdentityBalanceAndRevisionResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityBalanceAndRevisionResponseV0 result. + * @member {"balanceAndRevision"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @instance + */ + Object.defineProperty(GetIdentityBalanceAndRevisionResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["balanceAndRevision", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityBalanceAndRevisionResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IGetIdentityBalanceAndRevisionResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} GetIdentityBalanceAndRevisionResponseV0 instance + */ + GetIdentityBalanceAndRevisionResponseV0.create = function create(properties) { + return new GetIdentityBalanceAndRevisionResponseV0(properties); + }; + + /** + * Encodes the specified GetIdentityBalanceAndRevisionResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IGetIdentityBalanceAndRevisionResponseV0} message GetIdentityBalanceAndRevisionResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceAndRevisionResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.balanceAndRevision != null && Object.hasOwnProperty.call(message, "balanceAndRevision")) + $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.encode(message.balanceAndRevision, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentityBalanceAndRevisionResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.IGetIdentityBalanceAndRevisionResponseV0} message GetIdentityBalanceAndRevisionResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityBalanceAndRevisionResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityBalanceAndRevisionResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} GetIdentityBalanceAndRevisionResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceAndRevisionResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.balanceAndRevision = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityBalanceAndRevisionResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} GetIdentityBalanceAndRevisionResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityBalanceAndRevisionResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityBalanceAndRevisionResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityBalanceAndRevisionResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.balanceAndRevision != null && message.hasOwnProperty("balanceAndRevision")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.verify(message.balanceAndRevision); + if (error) + return "balanceAndRevision." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetIdentityBalanceAndRevisionResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} GetIdentityBalanceAndRevisionResponseV0 + */ + GetIdentityBalanceAndRevisionResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0(); + if (object.balanceAndRevision != null) { + if (typeof object.balanceAndRevision !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.balanceAndRevision: object expected"); + message.balanceAndRevision = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.fromObject(object.balanceAndRevision); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentityBalanceAndRevisionResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} message GetIdentityBalanceAndRevisionResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityBalanceAndRevisionResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.balanceAndRevision != null && message.hasOwnProperty("balanceAndRevision")) { + object.balanceAndRevision = $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(message.balanceAndRevision, options); + if (options.oneofs) + object.result = "balanceAndRevision"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetIdentityBalanceAndRevisionResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityBalanceAndRevisionResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision = (function() { + + /** + * Properties of a BalanceAndRevision. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @interface IBalanceAndRevision + * @property {number|Long|null} [balance] BalanceAndRevision balance + * @property {number|Long|null} [revision] BalanceAndRevision revision + */ + + /** + * Constructs a new BalanceAndRevision. + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 + * @classdesc Represents a BalanceAndRevision. + * @implements IBalanceAndRevision + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.IBalanceAndRevision=} [properties] Properties to set + */ + function BalanceAndRevision(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Converts this SpecificKeys to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.SpecificKeys - * @instance - * @returns {Object.} JSON object - */ - SpecificKeys.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * BalanceAndRevision balance. + * @member {number|Long} balance + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @instance + */ + BalanceAndRevision.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * BalanceAndRevision revision. + * @member {number|Long} revision + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @instance + */ + BalanceAndRevision.prototype.revision = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new BalanceAndRevision instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.IBalanceAndRevision=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} BalanceAndRevision instance + */ + BalanceAndRevision.create = function create(properties) { + return new BalanceAndRevision(properties); + }; + + /** + * Encodes the specified BalanceAndRevision message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.IBalanceAndRevision} message BalanceAndRevision message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BalanceAndRevision.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.balance); + if (message.revision != null && Object.hasOwnProperty.call(message, "revision")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.revision); + return writer; + }; + + /** + * Encodes the specified BalanceAndRevision message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.IBalanceAndRevision} message BalanceAndRevision message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BalanceAndRevision.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BalanceAndRevision message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} BalanceAndRevision + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BalanceAndRevision.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.balance = reader.uint64(); + break; + case 2: + message.revision = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BalanceAndRevision message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} BalanceAndRevision + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BalanceAndRevision.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BalanceAndRevision message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BalanceAndRevision.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.balance != null && message.hasOwnProperty("balance")) + if (!$util.isInteger(message.balance) && !(message.balance && $util.isInteger(message.balance.low) && $util.isInteger(message.balance.high))) + return "balance: integer|Long expected"; + if (message.revision != null && message.hasOwnProperty("revision")) + if (!$util.isInteger(message.revision) && !(message.revision && $util.isInteger(message.revision.low) && $util.isInteger(message.revision.high))) + return "revision: integer|Long expected"; + return null; + }; + + /** + * Creates a BalanceAndRevision message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} BalanceAndRevision + */ + BalanceAndRevision.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision(); + if (object.balance != null) + if ($util.Long) + (message.balance = $util.Long.fromValue(object.balance)).unsigned = true; + else if (typeof object.balance === "string") + message.balance = parseInt(object.balance, 10); + else if (typeof object.balance === "number") + message.balance = object.balance; + else if (typeof object.balance === "object") + message.balance = new $util.LongBits(object.balance.low >>> 0, object.balance.high >>> 0).toNumber(true); + if (object.revision != null) + if ($util.Long) + (message.revision = $util.Long.fromValue(object.revision)).unsigned = true; + else if (typeof object.revision === "string") + message.revision = parseInt(object.revision, 10); + else if (typeof object.revision === "number") + message.revision = object.revision; + else if (typeof object.revision === "object") + message.revision = new $util.LongBits(object.revision.low >>> 0, object.revision.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a BalanceAndRevision message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} message BalanceAndRevision + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BalanceAndRevision.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.balance = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.balance = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.revision = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.revision = options.longs === String ? "0" : 0; + } + if (message.balance != null && message.hasOwnProperty("balance")) + if (typeof message.balance === "number") + object.balance = options.longs === String ? String(message.balance) : message.balance; + else + object.balance = options.longs === String ? $util.Long.prototype.toString.call(message.balance) : options.longs === Number ? new $util.LongBits(message.balance.low >>> 0, message.balance.high >>> 0).toNumber(true) : message.balance; + if (message.revision != null && message.hasOwnProperty("revision")) + if (typeof message.revision === "number") + object.revision = options.longs === String ? String(message.revision) : message.revision; + else + object.revision = options.longs === String ? $util.Long.prototype.toString.call(message.revision) : options.longs === Number ? new $util.LongBits(message.revision.low >>> 0, message.revision.high >>> 0).toNumber(true) : message.revision; + return object; + }; + + /** + * Converts this BalanceAndRevision to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision + * @instance + * @returns {Object.} JSON object + */ + BalanceAndRevision.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BalanceAndRevision; + })(); - return SpecificKeys; + return GetIdentityBalanceAndRevisionResponseV0; + })(); + + return GetIdentityBalanceAndRevisionResponse; })(); - v0.SearchKey = (function() { + v0.KeyRequestType = (function() { /** - * Properties of a SearchKey. + * Properties of a KeyRequestType. * @memberof org.dash.platform.dapi.v0 - * @interface ISearchKey - * @property {Object.|null} [purposeMap] SearchKey purposeMap + * @interface IKeyRequestType + * @property {org.dash.platform.dapi.v0.IAllKeys|null} [allKeys] KeyRequestType allKeys + * @property {org.dash.platform.dapi.v0.ISpecificKeys|null} [specificKeys] KeyRequestType specificKeys + * @property {org.dash.platform.dapi.v0.ISearchKey|null} [searchKey] KeyRequestType searchKey */ /** - * Constructs a new SearchKey. + * Constructs a new KeyRequestType. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a SearchKey. - * @implements ISearchKey + * @classdesc Represents a KeyRequestType. + * @implements IKeyRequestType * @constructor - * @param {org.dash.platform.dapi.v0.ISearchKey=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IKeyRequestType=} [properties] Properties to set */ - function SearchKey(properties) { - this.purposeMap = {}; + function KeyRequestType(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4880,97 +6379,115 @@ $root.org = (function() { } /** - * SearchKey purposeMap. - * @member {Object.} purposeMap - * @memberof org.dash.platform.dapi.v0.SearchKey + * KeyRequestType allKeys. + * @member {org.dash.platform.dapi.v0.IAllKeys|null|undefined} allKeys + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @instance */ - SearchKey.prototype.purposeMap = $util.emptyObject; + KeyRequestType.prototype.allKeys = null; /** - * Creates a new SearchKey instance using the specified properties. + * KeyRequestType specificKeys. + * @member {org.dash.platform.dapi.v0.ISpecificKeys|null|undefined} specificKeys + * @memberof org.dash.platform.dapi.v0.KeyRequestType + * @instance + */ + KeyRequestType.prototype.specificKeys = null; + + /** + * KeyRequestType searchKey. + * @member {org.dash.platform.dapi.v0.ISearchKey|null|undefined} searchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType + * @instance + */ + KeyRequestType.prototype.searchKey = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * KeyRequestType request. + * @member {"allKeys"|"specificKeys"|"searchKey"|undefined} request + * @memberof org.dash.platform.dapi.v0.KeyRequestType + * @instance + */ + Object.defineProperty(KeyRequestType.prototype, "request", { + get: $util.oneOfGetter($oneOfFields = ["allKeys", "specificKeys", "searchKey"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new KeyRequestType instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static - * @param {org.dash.platform.dapi.v0.ISearchKey=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey instance + * @param {org.dash.platform.dapi.v0.IKeyRequestType=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType instance */ - SearchKey.create = function create(properties) { - return new SearchKey(properties); + KeyRequestType.create = function create(properties) { + return new KeyRequestType(properties); }; /** - * Encodes the specified SearchKey message. Does not implicitly {@link org.dash.platform.dapi.v0.SearchKey.verify|verify} messages. + * Encodes the specified KeyRequestType message. Does not implicitly {@link org.dash.platform.dapi.v0.KeyRequestType.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static - * @param {org.dash.platform.dapi.v0.ISearchKey} message SearchKey message or plain object to encode + * @param {org.dash.platform.dapi.v0.IKeyRequestType} message KeyRequestType message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SearchKey.encode = function encode(message, writer) { + KeyRequestType.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.purposeMap != null && Object.hasOwnProperty.call(message, "purposeMap")) - for (var keys = Object.keys(message.purposeMap), i = 0; i < keys.length; ++i) { - writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 0 =*/8).uint32(keys[i]); - $root.org.dash.platform.dapi.v0.SecurityLevelMap.encode(message.purposeMap[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim(); - } + if (message.allKeys != null && Object.hasOwnProperty.call(message, "allKeys")) + $root.org.dash.platform.dapi.v0.AllKeys.encode(message.allKeys, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.specificKeys != null && Object.hasOwnProperty.call(message, "specificKeys")) + $root.org.dash.platform.dapi.v0.SpecificKeys.encode(message.specificKeys, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.searchKey != null && Object.hasOwnProperty.call(message, "searchKey")) + $root.org.dash.platform.dapi.v0.SearchKey.encode(message.searchKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified SearchKey message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.SearchKey.verify|verify} messages. + * Encodes the specified KeyRequestType message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.KeyRequestType.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static - * @param {org.dash.platform.dapi.v0.ISearchKey} message SearchKey message or plain object to encode + * @param {org.dash.platform.dapi.v0.IKeyRequestType} message KeyRequestType message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SearchKey.encodeDelimited = function encodeDelimited(message, writer) { + KeyRequestType.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SearchKey message from the specified reader or buffer. + * Decodes a KeyRequestType message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey + * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchKey.decode = function decode(reader, length) { + KeyRequestType.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.SearchKey(), key, value; + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.KeyRequestType(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (message.purposeMap === $util.emptyObject) - message.purposeMap = {}; - var end2 = reader.uint32() + reader.pos; - key = 0; - value = null; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.uint32(); - break; - case 2: - value = $root.org.dash.platform.dapi.v0.SecurityLevelMap.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.purposeMap[key] = value; + message.allKeys = $root.org.dash.platform.dapi.v0.AllKeys.decode(reader, reader.uint32()); + break; + case 2: + message.specificKeys = $root.org.dash.platform.dapi.v0.SpecificKeys.decode(reader, reader.uint32()); + break; + case 3: + message.searchKey = $root.org.dash.platform.dapi.v0.SearchKey.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -4981,131 +6498,156 @@ $root.org = (function() { }; /** - * Decodes a SearchKey message from the specified reader or buffer, length delimited. + * Decodes a KeyRequestType message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey + * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchKey.decodeDelimited = function decodeDelimited(reader) { + KeyRequestType.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SearchKey message. + * Verifies a KeyRequestType message. * @function verify - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SearchKey.verify = function verify(message) { + KeyRequestType.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.purposeMap != null && message.hasOwnProperty("purposeMap")) { - if (!$util.isObject(message.purposeMap)) - return "purposeMap: object expected"; - var key = Object.keys(message.purposeMap); - for (var i = 0; i < key.length; ++i) { - if (!$util.key32Re.test(key[i])) - return "purposeMap: integer key{k:uint32} expected"; - { - var error = $root.org.dash.platform.dapi.v0.SecurityLevelMap.verify(message.purposeMap[key[i]]); - if (error) - return "purposeMap." + error; - } + var properties = {}; + if (message.allKeys != null && message.hasOwnProperty("allKeys")) { + properties.request = 1; + { + var error = $root.org.dash.platform.dapi.v0.AllKeys.verify(message.allKeys); + if (error) + return "allKeys." + error; + } + } + if (message.specificKeys != null && message.hasOwnProperty("specificKeys")) { + if (properties.request === 1) + return "request: multiple values"; + properties.request = 1; + { + var error = $root.org.dash.platform.dapi.v0.SpecificKeys.verify(message.specificKeys); + if (error) + return "specificKeys." + error; + } + } + if (message.searchKey != null && message.hasOwnProperty("searchKey")) { + if (properties.request === 1) + return "request: multiple values"; + properties.request = 1; + { + var error = $root.org.dash.platform.dapi.v0.SearchKey.verify(message.searchKey); + if (error) + return "searchKey." + error; } } return null; }; /** - * Creates a SearchKey message from a plain object. Also converts values to their respective internal types. + * Creates a KeyRequestType message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey + * @returns {org.dash.platform.dapi.v0.KeyRequestType} KeyRequestType */ - SearchKey.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.SearchKey) + KeyRequestType.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.KeyRequestType) return object; - var message = new $root.org.dash.platform.dapi.v0.SearchKey(); - if (object.purposeMap) { - if (typeof object.purposeMap !== "object") - throw TypeError(".org.dash.platform.dapi.v0.SearchKey.purposeMap: object expected"); - message.purposeMap = {}; - for (var keys = Object.keys(object.purposeMap), i = 0; i < keys.length; ++i) { - if (typeof object.purposeMap[keys[i]] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.SearchKey.purposeMap: object expected"); - message.purposeMap[keys[i]] = $root.org.dash.platform.dapi.v0.SecurityLevelMap.fromObject(object.purposeMap[keys[i]]); - } + var message = new $root.org.dash.platform.dapi.v0.KeyRequestType(); + if (object.allKeys != null) { + if (typeof object.allKeys !== "object") + throw TypeError(".org.dash.platform.dapi.v0.KeyRequestType.allKeys: object expected"); + message.allKeys = $root.org.dash.platform.dapi.v0.AllKeys.fromObject(object.allKeys); + } + if (object.specificKeys != null) { + if (typeof object.specificKeys !== "object") + throw TypeError(".org.dash.platform.dapi.v0.KeyRequestType.specificKeys: object expected"); + message.specificKeys = $root.org.dash.platform.dapi.v0.SpecificKeys.fromObject(object.specificKeys); + } + if (object.searchKey != null) { + if (typeof object.searchKey !== "object") + throw TypeError(".org.dash.platform.dapi.v0.KeyRequestType.searchKey: object expected"); + message.searchKey = $root.org.dash.platform.dapi.v0.SearchKey.fromObject(object.searchKey); } return message; }; /** - * Creates a plain object from a SearchKey message. Also converts values to other types if specified. + * Creates a plain object from a KeyRequestType message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @static - * @param {org.dash.platform.dapi.v0.SearchKey} message SearchKey + * @param {org.dash.platform.dapi.v0.KeyRequestType} message KeyRequestType * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SearchKey.toObject = function toObject(message, options) { + KeyRequestType.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.objects || options.defaults) - object.purposeMap = {}; - var keys2; - if (message.purposeMap && (keys2 = Object.keys(message.purposeMap)).length) { - object.purposeMap = {}; - for (var j = 0; j < keys2.length; ++j) - object.purposeMap[keys2[j]] = $root.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(message.purposeMap[keys2[j]], options); + if (message.allKeys != null && message.hasOwnProperty("allKeys")) { + object.allKeys = $root.org.dash.platform.dapi.v0.AllKeys.toObject(message.allKeys, options); + if (options.oneofs) + object.request = "allKeys"; + } + if (message.specificKeys != null && message.hasOwnProperty("specificKeys")) { + object.specificKeys = $root.org.dash.platform.dapi.v0.SpecificKeys.toObject(message.specificKeys, options); + if (options.oneofs) + object.request = "specificKeys"; + } + if (message.searchKey != null && message.hasOwnProperty("searchKey")) { + object.searchKey = $root.org.dash.platform.dapi.v0.SearchKey.toObject(message.searchKey, options); + if (options.oneofs) + object.request = "searchKey"; } return object; }; /** - * Converts this SearchKey to JSON. + * Converts this KeyRequestType to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.SearchKey + * @memberof org.dash.platform.dapi.v0.KeyRequestType * @instance * @returns {Object.} JSON object */ - SearchKey.prototype.toJSON = function toJSON() { + KeyRequestType.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SearchKey; + return KeyRequestType; })(); - v0.SecurityLevelMap = (function() { + v0.AllKeys = (function() { /** - * Properties of a SecurityLevelMap. + * Properties of an AllKeys. * @memberof org.dash.platform.dapi.v0 - * @interface ISecurityLevelMap - * @property {Object.|null} [securityLevelMap] SecurityLevelMap securityLevelMap + * @interface IAllKeys */ /** - * Constructs a new SecurityLevelMap. + * Constructs a new AllKeys. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a SecurityLevelMap. - * @implements ISecurityLevelMap + * @classdesc Represents an AllKeys. + * @implements IAllKeys * @constructor - * @param {org.dash.platform.dapi.v0.ISecurityLevelMap=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IAllKeys=} [properties] Properties to set */ - function SecurityLevelMap(properties) { - this.securityLevelMap = {}; + function AllKeys(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5113,96 +6655,63 @@ $root.org = (function() { } /** - * SecurityLevelMap securityLevelMap. - * @member {Object.} securityLevelMap - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap - * @instance - */ - SecurityLevelMap.prototype.securityLevelMap = $util.emptyObject; - - /** - * Creates a new SecurityLevelMap instance using the specified properties. + * Creates a new AllKeys instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static - * @param {org.dash.platform.dapi.v0.ISecurityLevelMap=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap instance + * @param {org.dash.platform.dapi.v0.IAllKeys=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys instance */ - SecurityLevelMap.create = function create(properties) { - return new SecurityLevelMap(properties); + AllKeys.create = function create(properties) { + return new AllKeys(properties); }; /** - * Encodes the specified SecurityLevelMap message. Does not implicitly {@link org.dash.platform.dapi.v0.SecurityLevelMap.verify|verify} messages. + * Encodes the specified AllKeys message. Does not implicitly {@link org.dash.platform.dapi.v0.AllKeys.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static - * @param {org.dash.platform.dapi.v0.ISecurityLevelMap} message SecurityLevelMap message or plain object to encode + * @param {org.dash.platform.dapi.v0.IAllKeys} message AllKeys message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SecurityLevelMap.encode = function encode(message, writer) { + AllKeys.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.securityLevelMap != null && Object.hasOwnProperty.call(message, "securityLevelMap")) - for (var keys = Object.keys(message.securityLevelMap), i = 0; i < keys.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 0 =*/8).uint32(keys[i]).uint32(/* id 2, wireType 0 =*/16).int32(message.securityLevelMap[keys[i]]).ldelim(); return writer; }; /** - * Encodes the specified SecurityLevelMap message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.SecurityLevelMap.verify|verify} messages. + * Encodes the specified AllKeys message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.AllKeys.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static - * @param {org.dash.platform.dapi.v0.ISecurityLevelMap} message SecurityLevelMap message or plain object to encode + * @param {org.dash.platform.dapi.v0.IAllKeys} message AllKeys message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SecurityLevelMap.encodeDelimited = function encodeDelimited(message, writer) { + AllKeys.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SecurityLevelMap message from the specified reader or buffer. + * Decodes an AllKeys message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap + * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityLevelMap.decode = function decode(reader, length) { + AllKeys.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.SecurityLevelMap(), key, value; + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.AllKeys(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (message.securityLevelMap === $util.emptyObject) - message.securityLevelMap = {}; - var end2 = reader.uint32() + reader.pos; - key = 0; - value = 0; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.uint32(); - break; - case 2: - value = reader.int32(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.securityLevelMap[key] = value; - break; default: reader.skipType(tag & 7); break; @@ -5212,156 +6721,95 @@ $root.org = (function() { }; /** - * Decodes a SecurityLevelMap message from the specified reader or buffer, length delimited. + * Decodes an AllKeys message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap + * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityLevelMap.decodeDelimited = function decodeDelimited(reader) { + AllKeys.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SecurityLevelMap message. + * Verifies an AllKeys message. * @function verify - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityLevelMap.verify = function verify(message) { + AllKeys.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.securityLevelMap != null && message.hasOwnProperty("securityLevelMap")) { - if (!$util.isObject(message.securityLevelMap)) - return "securityLevelMap: object expected"; - var key = Object.keys(message.securityLevelMap); - for (var i = 0; i < key.length; ++i) { - if (!$util.key32Re.test(key[i])) - return "securityLevelMap: integer key{k:uint32} expected"; - switch (message.securityLevelMap[key[i]]) { - default: - return "securityLevelMap: enum value{k:uint32} expected"; - case 0: - case 1: - break; - } - } - } return null; }; /** - * Creates a SecurityLevelMap message from a plain object. Also converts values to their respective internal types. + * Creates an AllKeys message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap + * @returns {org.dash.platform.dapi.v0.AllKeys} AllKeys */ - SecurityLevelMap.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.SecurityLevelMap) + AllKeys.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.AllKeys) return object; - var message = new $root.org.dash.platform.dapi.v0.SecurityLevelMap(); - if (object.securityLevelMap) { - if (typeof object.securityLevelMap !== "object") - throw TypeError(".org.dash.platform.dapi.v0.SecurityLevelMap.securityLevelMap: object expected"); - message.securityLevelMap = {}; - for (var keys = Object.keys(object.securityLevelMap), i = 0; i < keys.length; ++i) - switch (object.securityLevelMap[keys[i]]) { - case "CURRENT_KEY_OF_KIND_REQUEST": - case 0: - message.securityLevelMap[keys[i]] = 0; - break; - case "ALL_KEYS_OF_KIND_REQUEST": - case 1: - message.securityLevelMap[keys[i]] = 1; - break; - } - } - return message; + return new $root.org.dash.platform.dapi.v0.AllKeys(); }; /** - * Creates a plain object from a SecurityLevelMap message. Also converts values to other types if specified. + * Creates a plain object from an AllKeys message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @static - * @param {org.dash.platform.dapi.v0.SecurityLevelMap} message SecurityLevelMap + * @param {org.dash.platform.dapi.v0.AllKeys} message AllKeys * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SecurityLevelMap.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.objects || options.defaults) - object.securityLevelMap = {}; - var keys2; - if (message.securityLevelMap && (keys2 = Object.keys(message.securityLevelMap)).length) { - object.securityLevelMap = {}; - for (var j = 0; j < keys2.length; ++j) - object.securityLevelMap[keys2[j]] = options.enums === String ? $root.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType[message.securityLevelMap[keys2[j]]] : message.securityLevelMap[keys2[j]]; - } - return object; + AllKeys.toObject = function toObject() { + return {}; }; /** - * Converts this SecurityLevelMap to JSON. + * Converts this AllKeys to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @memberof org.dash.platform.dapi.v0.AllKeys * @instance * @returns {Object.} JSON object */ - SecurityLevelMap.prototype.toJSON = function toJSON() { + AllKeys.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * KeyKindRequestType enum. - * @name org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType - * @enum {number} - * @property {number} CURRENT_KEY_OF_KIND_REQUEST=0 CURRENT_KEY_OF_KIND_REQUEST value - * @property {number} ALL_KEYS_OF_KIND_REQUEST=1 ALL_KEYS_OF_KIND_REQUEST value - */ - SecurityLevelMap.KeyKindRequestType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "CURRENT_KEY_OF_KIND_REQUEST"] = 0; - values[valuesById[1] = "ALL_KEYS_OF_KIND_REQUEST"] = 1; - return values; - })(); - - return SecurityLevelMap; + return AllKeys; })(); - v0.GetIdentityKeysRequest = (function() { + v0.SpecificKeys = (function() { /** - * Properties of a GetIdentityKeysRequest. + * Properties of a SpecificKeys. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityKeysRequest - * @property {Uint8Array|null} [identityId] GetIdentityKeysRequest identityId - * @property {org.dash.platform.dapi.v0.IKeyRequestType|null} [requestType] GetIdentityKeysRequest requestType - * @property {google.protobuf.IUInt32Value|null} [limit] GetIdentityKeysRequest limit - * @property {google.protobuf.IUInt32Value|null} [offset] GetIdentityKeysRequest offset - * @property {boolean|null} [prove] GetIdentityKeysRequest prove + * @interface ISpecificKeys + * @property {Array.|null} [keyIds] SpecificKeys keyIds */ /** - * Constructs a new GetIdentityKeysRequest. + * Constructs a new SpecificKeys. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityKeysRequest. - * @implements IGetIdentityKeysRequest + * @classdesc Represents a SpecificKeys. + * @implements ISpecificKeys * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.ISpecificKeys=} [properties] Properties to set */ - function GetIdentityKeysRequest(properties) { + function SpecificKeys(properties) { + this.keyIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5369,127 +6817,86 @@ $root.org = (function() { } /** - * GetIdentityKeysRequest identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest - * @instance - */ - GetIdentityKeysRequest.prototype.identityId = $util.newBuffer([]); - - /** - * GetIdentityKeysRequest requestType. - * @member {org.dash.platform.dapi.v0.IKeyRequestType|null|undefined} requestType - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest - * @instance - */ - GetIdentityKeysRequest.prototype.requestType = null; - - /** - * GetIdentityKeysRequest limit. - * @member {google.protobuf.IUInt32Value|null|undefined} limit - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest - * @instance - */ - GetIdentityKeysRequest.prototype.limit = null; - - /** - * GetIdentityKeysRequest offset. - * @member {google.protobuf.IUInt32Value|null|undefined} offset - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest - * @instance - */ - GetIdentityKeysRequest.prototype.offset = null; - - /** - * GetIdentityKeysRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * SpecificKeys keyIds. + * @member {Array.} keyIds + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @instance */ - GetIdentityKeysRequest.prototype.prove = false; + SpecificKeys.prototype.keyIds = $util.emptyArray; /** - * Creates a new GetIdentityKeysRequest instance using the specified properties. + * Creates a new SpecificKeys instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest instance + * @param {org.dash.platform.dapi.v0.ISpecificKeys=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys instance */ - GetIdentityKeysRequest.create = function create(properties) { - return new GetIdentityKeysRequest(properties); + SpecificKeys.create = function create(properties) { + return new SpecificKeys(properties); }; /** - * Encodes the specified GetIdentityKeysRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysRequest.verify|verify} messages. + * Encodes the specified SpecificKeys message. Does not implicitly {@link org.dash.platform.dapi.v0.SpecificKeys.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest} message GetIdentityKeysRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.ISpecificKeys} message SpecificKeys message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityKeysRequest.encode = function encode(message, writer) { + SpecificKeys.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identityId); - if (message.requestType != null && Object.hasOwnProperty.call(message, "requestType")) - $root.org.dash.platform.dapi.v0.KeyRequestType.encode(message.requestType, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - $root.google.protobuf.UInt32Value.encode(message.limit, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) - $root.google.protobuf.UInt32Value.encode(message.offset, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); + if (message.keyIds != null && message.keyIds.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.keyIds.length; ++i) + writer.uint32(message.keyIds[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified GetIdentityKeysRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysRequest.verify|verify} messages. + * Encodes the specified SpecificKeys message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.SpecificKeys.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest} message GetIdentityKeysRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.ISpecificKeys} message SpecificKeys message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityKeysRequest.encodeDelimited = function encodeDelimited(message, writer) { + SpecificKeys.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityKeysRequest message from the specified reader or buffer. + * Decodes a SpecificKeys message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest + * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityKeysRequest.decode = function decode(reader, length) { + SpecificKeys.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.SpecificKeys(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identityId = reader.bytes(); - break; - case 2: - message.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.decode(reader, reader.uint32()); - break; - case 3: - message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 4: - message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 5: - message.prove = reader.bool(); + if (!(message.keyIds && message.keyIds.length)) + message.keyIds = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.keyIds.push(reader.uint32()); + } else + message.keyIds.push(reader.uint32()); break; default: reader.skipType(tag & 7); @@ -5500,166 +6907,120 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityKeysRequest message from the specified reader or buffer, length delimited. + * Decodes a SpecificKeys message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest + * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityKeysRequest.decodeDelimited = function decodeDelimited(reader) { + SpecificKeys.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityKeysRequest message. + * Verifies a SpecificKeys message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityKeysRequest.verify = function verify(message) { + SpecificKeys.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identityId != null && message.hasOwnProperty("identityId")) - if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId))) - return "identityId: buffer expected"; - if (message.requestType != null && message.hasOwnProperty("requestType")) { - var error = $root.org.dash.platform.dapi.v0.KeyRequestType.verify(message.requestType); - if (error) - return "requestType." + error; - } - if (message.limit != null && message.hasOwnProperty("limit")) { - var error = $root.google.protobuf.UInt32Value.verify(message.limit); - if (error) - return "limit." + error; - } - if (message.offset != null && message.hasOwnProperty("offset")) { - var error = $root.google.protobuf.UInt32Value.verify(message.offset); - if (error) - return "offset." + error; + if (message.keyIds != null && message.hasOwnProperty("keyIds")) { + if (!Array.isArray(message.keyIds)) + return "keyIds: array expected"; + for (var i = 0; i < message.keyIds.length; ++i) + if (!$util.isInteger(message.keyIds[i])) + return "keyIds: integer[] expected"; } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; return null; }; /** - * Creates a GetIdentityKeysRequest message from a plain object. Also converts values to their respective internal types. + * Creates a SpecificKeys message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest + * @returns {org.dash.platform.dapi.v0.SpecificKeys} SpecificKeys */ - GetIdentityKeysRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest) + SpecificKeys.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.SpecificKeys) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest(); - if (object.identityId != null) - if (typeof object.identityId === "string") - $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0); - else if (object.identityId.length >= 0) - message.identityId = object.identityId; - if (object.requestType != null) { - if (typeof object.requestType !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysRequest.requestType: object expected"); - message.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.fromObject(object.requestType); - } - if (object.limit != null) { - if (typeof object.limit !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysRequest.limit: object expected"); - message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); - } - if (object.offset != null) { - if (typeof object.offset !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysRequest.offset: object expected"); - message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); + var message = new $root.org.dash.platform.dapi.v0.SpecificKeys(); + if (object.keyIds) { + if (!Array.isArray(object.keyIds)) + throw TypeError(".org.dash.platform.dapi.v0.SpecificKeys.keyIds: array expected"); + message.keyIds = []; + for (var i = 0; i < object.keyIds.length; ++i) + message.keyIds[i] = object.keyIds[i] >>> 0; } - if (object.prove != null) - message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetIdentityKeysRequest message. Also converts values to other types if specified. + * Creates a plain object from a SpecificKeys message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @static - * @param {org.dash.platform.dapi.v0.GetIdentityKeysRequest} message GetIdentityKeysRequest + * @param {org.dash.platform.dapi.v0.SpecificKeys} message SpecificKeys * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityKeysRequest.toObject = function toObject(message, options) { + SpecificKeys.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.identityId = ""; - else { - object.identityId = []; - if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); - } - object.requestType = null; - object.limit = null; - object.offset = null; - object.prove = false; + if (options.arrays || options.defaults) + object.keyIds = []; + if (message.keyIds && message.keyIds.length) { + object.keyIds = []; + for (var j = 0; j < message.keyIds.length; ++j) + object.keyIds[j] = message.keyIds[j]; } - if (message.identityId != null && message.hasOwnProperty("identityId")) - object.identityId = options.bytes === String ? $util.base64.encode(message.identityId, 0, message.identityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityId) : message.identityId; - if (message.requestType != null && message.hasOwnProperty("requestType")) - object.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.toObject(message.requestType, options); - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); - if (message.offset != null && message.hasOwnProperty("offset")) - object.offset = $root.google.protobuf.UInt32Value.toObject(message.offset, options); - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; return object; }; /** - * Converts this GetIdentityKeysRequest to JSON. + * Converts this SpecificKeys to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @memberof org.dash.platform.dapi.v0.SpecificKeys * @instance * @returns {Object.} JSON object */ - GetIdentityKeysRequest.prototype.toJSON = function toJSON() { + SpecificKeys.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentityKeysRequest; + return SpecificKeys; })(); - v0.GetIdentityKeysResponse = (function() { + v0.SearchKey = (function() { /** - * Properties of a GetIdentityKeysResponse. + * Properties of a SearchKey. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityKeysResponse - * @property {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IKeys|null} [keys] GetIdentityKeysResponse keys - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityKeysResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityKeysResponse metadata + * @interface ISearchKey + * @property {Object.|null} [purposeMap] SearchKey purposeMap */ /** - * Constructs a new GetIdentityKeysResponse. + * Constructs a new SearchKey. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityKeysResponse. - * @implements IGetIdentityKeysResponse + * @classdesc Represents a SearchKey. + * @implements ISearchKey * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.ISearchKey=} [properties] Properties to set */ - function GetIdentityKeysResponse(properties) { + function SearchKey(properties) { + this.purposeMap = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5667,115 +7028,97 @@ $root.org = (function() { } /** - * GetIdentityKeysResponse keys. - * @member {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IKeys|null|undefined} keys - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse - * @instance - */ - GetIdentityKeysResponse.prototype.keys = null; - - /** - * GetIdentityKeysResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse - * @instance - */ - GetIdentityKeysResponse.prototype.proof = null; - - /** - * GetIdentityKeysResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse - * @instance - */ - GetIdentityKeysResponse.prototype.metadata = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetIdentityKeysResponse result. - * @member {"keys"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * SearchKey purposeMap. + * @member {Object.} purposeMap + * @memberof org.dash.platform.dapi.v0.SearchKey * @instance */ - Object.defineProperty(GetIdentityKeysResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["keys", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + SearchKey.prototype.purposeMap = $util.emptyObject; /** - * Creates a new GetIdentityKeysResponse instance using the specified properties. + * Creates a new SearchKey instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse instance + * @param {org.dash.platform.dapi.v0.ISearchKey=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey instance */ - GetIdentityKeysResponse.create = function create(properties) { - return new GetIdentityKeysResponse(properties); + SearchKey.create = function create(properties) { + return new SearchKey(properties); }; /** - * Encodes the specified GetIdentityKeysResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.verify|verify} messages. + * Encodes the specified SearchKey message. Does not implicitly {@link org.dash.platform.dapi.v0.SearchKey.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse} message GetIdentityKeysResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.ISearchKey} message SearchKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityKeysResponse.encode = function encode(message, writer) { + SearchKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.keys != null && Object.hasOwnProperty.call(message, "keys")) - $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.encode(message.keys, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.purposeMap != null && Object.hasOwnProperty.call(message, "purposeMap")) + for (var keys = Object.keys(message.purposeMap), i = 0; i < keys.length; ++i) { + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 0 =*/8).uint32(keys[i]); + $root.org.dash.platform.dapi.v0.SecurityLevelMap.encode(message.purposeMap[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim(); + } return writer; }; /** - * Encodes the specified GetIdentityKeysResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.verify|verify} messages. + * Encodes the specified SearchKey message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.SearchKey.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse} message GetIdentityKeysResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.ISearchKey} message SearchKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityKeysResponse.encodeDelimited = function encodeDelimited(message, writer) { + SearchKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityKeysResponse message from the specified reader or buffer. + * Decodes a SearchKey message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse + * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityKeysResponse.decode = function decode(reader, length) { + SearchKey.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.SearchKey(), key, value; while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.keys = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + if (message.purposeMap === $util.emptyObject) + message.purposeMap = {}; + var end2 = reader.uint32() + reader.pos; + key = 0; + value = null; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.uint32(); + break; + case 2: + value = $root.org.dash.platform.dapi.v0.SecurityLevelMap.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.purposeMap[key] = value; break; default: reader.skipType(tag & 7); @@ -5786,362 +7129,131 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityKeysResponse message from the specified reader or buffer, length delimited. + * Decodes a SearchKey message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse + * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityKeysResponse.decodeDelimited = function decodeDelimited(reader) { + SearchKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityKeysResponse message. + * Verifies a SearchKey message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityKeysResponse.verify = function verify(message) { + SearchKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.keys != null && message.hasOwnProperty("keys")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.verify(message.keys); - if (error) - return "keys." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; + if (message.purposeMap != null && message.hasOwnProperty("purposeMap")) { + if (!$util.isObject(message.purposeMap)) + return "purposeMap: object expected"; + var key = Object.keys(message.purposeMap); + for (var i = 0; i < key.length; ++i) { + if (!$util.key32Re.test(key[i])) + return "purposeMap: integer key{k:uint32} expected"; + { + var error = $root.org.dash.platform.dapi.v0.SecurityLevelMap.verify(message.purposeMap[key[i]]); + if (error) + return "purposeMap." + error; + } } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; /** - * Creates a GetIdentityKeysResponse message from a plain object. Also converts values to their respective internal types. + * Creates a SearchKey message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse + * @returns {org.dash.platform.dapi.v0.SearchKey} SearchKey */ - GetIdentityKeysResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse) + SearchKey.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.SearchKey) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse(); - if (object.keys != null) { - if (typeof object.keys !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.keys: object expected"); - message.keys = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.fromObject(object.keys); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.SearchKey(); + if (object.purposeMap) { + if (typeof object.purposeMap !== "object") + throw TypeError(".org.dash.platform.dapi.v0.SearchKey.purposeMap: object expected"); + message.purposeMap = {}; + for (var keys = Object.keys(object.purposeMap), i = 0; i < keys.length; ++i) { + if (typeof object.purposeMap[keys[i]] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.SearchKey.purposeMap: object expected"); + message.purposeMap[keys[i]] = $root.org.dash.platform.dapi.v0.SecurityLevelMap.fromObject(object.purposeMap[keys[i]]); + } } return message; }; /** - * Creates a plain object from a GetIdentityKeysResponse message. Also converts values to other types if specified. + * Creates a plain object from a SearchKey message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @static - * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse} message GetIdentityKeysResponse + * @param {org.dash.platform.dapi.v0.SearchKey} message SearchKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityKeysResponse.toObject = function toObject(message, options) { + SearchKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.keys != null && message.hasOwnProperty("keys")) { - object.keys = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject(message.keys, options); - if (options.oneofs) - object.result = "keys"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; + if (options.objects || options.defaults) + object.purposeMap = {}; + var keys2; + if (message.purposeMap && (keys2 = Object.keys(message.purposeMap)).length) { + object.purposeMap = {}; + for (var j = 0; j < keys2.length; ++j) + object.purposeMap[keys2[j]] = $root.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(message.purposeMap[keys2[j]], options); } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetIdentityKeysResponse to JSON. + * Converts this SearchKey to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @memberof org.dash.platform.dapi.v0.SearchKey * @instance * @returns {Object.} JSON object */ - GetIdentityKeysResponse.prototype.toJSON = function toJSON() { + SearchKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityKeysResponse.Keys = (function() { - - /** - * Properties of a Keys. - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse - * @interface IKeys - * @property {Array.|null} [keysBytes] Keys keysBytes - */ - - /** - * Constructs a new Keys. - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse - * @classdesc Represents a Keys. - * @implements IKeys - * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IKeys=} [properties] Properties to set - */ - function Keys(properties) { - this.keysBytes = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Keys keysBytes. - * @member {Array.} keysBytes - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @instance - */ - Keys.prototype.keysBytes = $util.emptyArray; - - /** - * Creates a new Keys instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IKeys=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} Keys instance - */ - Keys.create = function create(properties) { - return new Keys(properties); - }; - - /** - * Encodes the specified Keys message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IKeys} message Keys message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Keys.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.keysBytes != null && message.keysBytes.length) - for (var i = 0; i < message.keysBytes.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.keysBytes[i]); - return writer; - }; - - /** - * Encodes the specified Keys message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IKeys} message Keys message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Keys.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Keys message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} Keys - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Keys.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.keysBytes && message.keysBytes.length)) - message.keysBytes = []; - message.keysBytes.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Keys message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} Keys - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Keys.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Keys message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Keys.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.keysBytes != null && message.hasOwnProperty("keysBytes")) { - if (!Array.isArray(message.keysBytes)) - return "keysBytes: array expected"; - for (var i = 0; i < message.keysBytes.length; ++i) - if (!(message.keysBytes[i] && typeof message.keysBytes[i].length === "number" || $util.isString(message.keysBytes[i]))) - return "keysBytes: buffer[] expected"; - } - return null; - }; - - /** - * Creates a Keys message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} Keys - */ - Keys.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys(); - if (object.keysBytes) { - if (!Array.isArray(object.keysBytes)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.keysBytes: array expected"); - message.keysBytes = []; - for (var i = 0; i < object.keysBytes.length; ++i) - if (typeof object.keysBytes[i] === "string") - $util.base64.decode(object.keysBytes[i], message.keysBytes[i] = $util.newBuffer($util.base64.length(object.keysBytes[i])), 0); - else if (object.keysBytes[i].length >= 0) - message.keysBytes[i] = object.keysBytes[i]; - } - return message; - }; - - /** - * Creates a plain object from a Keys message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} message Keys - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Keys.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.keysBytes = []; - if (message.keysBytes && message.keysBytes.length) { - object.keysBytes = []; - for (var j = 0; j < message.keysBytes.length; ++j) - object.keysBytes[j] = options.bytes === String ? $util.base64.encode(message.keysBytes[j], 0, message.keysBytes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.keysBytes[j]) : message.keysBytes[j]; - } - return object; - }; - - /** - * Converts this Keys to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys - * @instance - * @returns {Object.} JSON object - */ - Keys.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Keys; - })(); - - return GetIdentityKeysResponse; + return SearchKey; })(); - v0.GetIdentitiesKeysRequest = (function() { + v0.SecurityLevelMap = (function() { /** - * Properties of a GetIdentitiesKeysRequest. + * Properties of a SecurityLevelMap. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesKeysRequest - * @property {Array.|null} [identityIds] GetIdentitiesKeysRequest identityIds - * @property {org.dash.platform.dapi.v0.IKeyRequestType|null} [requestType] GetIdentitiesKeysRequest requestType - * @property {google.protobuf.IUInt32Value|null} [limit] GetIdentitiesKeysRequest limit - * @property {google.protobuf.IUInt32Value|null} [offset] GetIdentitiesKeysRequest offset - * @property {boolean|null} [prove] GetIdentitiesKeysRequest prove + * @interface ISecurityLevelMap + * @property {Object.|null} [securityLevelMap] SecurityLevelMap securityLevelMap */ /** - * Constructs a new GetIdentitiesKeysRequest. + * Constructs a new SecurityLevelMap. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesKeysRequest. - * @implements IGetIdentitiesKeysRequest + * @classdesc Represents a SecurityLevelMap. + * @implements ISecurityLevelMap * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.ISecurityLevelMap=} [properties] Properties to set */ - function GetIdentitiesKeysRequest(properties) { - this.identityIds = []; + function SecurityLevelMap(properties) { + this.securityLevelMap = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6149,130 +7261,95 @@ $root.org = (function() { } /** - * GetIdentitiesKeysRequest identityIds. - * @member {Array.} identityIds - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest - * @instance - */ - GetIdentitiesKeysRequest.prototype.identityIds = $util.emptyArray; - - /** - * GetIdentitiesKeysRequest requestType. - * @member {org.dash.platform.dapi.v0.IKeyRequestType|null|undefined} requestType - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest - * @instance - */ - GetIdentitiesKeysRequest.prototype.requestType = null; - - /** - * GetIdentitiesKeysRequest limit. - * @member {google.protobuf.IUInt32Value|null|undefined} limit - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest - * @instance - */ - GetIdentitiesKeysRequest.prototype.limit = null; - - /** - * GetIdentitiesKeysRequest offset. - * @member {google.protobuf.IUInt32Value|null|undefined} offset - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest - * @instance - */ - GetIdentitiesKeysRequest.prototype.offset = null; - - /** - * GetIdentitiesKeysRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * SecurityLevelMap securityLevelMap. + * @member {Object.} securityLevelMap + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @instance */ - GetIdentitiesKeysRequest.prototype.prove = false; + SecurityLevelMap.prototype.securityLevelMap = $util.emptyObject; /** - * Creates a new GetIdentitiesKeysRequest instance using the specified properties. + * Creates a new SecurityLevelMap instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} GetIdentitiesKeysRequest instance + * @param {org.dash.platform.dapi.v0.ISecurityLevelMap=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap instance */ - GetIdentitiesKeysRequest.create = function create(properties) { - return new GetIdentitiesKeysRequest(properties); + SecurityLevelMap.create = function create(properties) { + return new SecurityLevelMap(properties); }; /** - * Encodes the specified GetIdentitiesKeysRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.verify|verify} messages. + * Encodes the specified SecurityLevelMap message. Does not implicitly {@link org.dash.platform.dapi.v0.SecurityLevelMap.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysRequest} message GetIdentitiesKeysRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.ISecurityLevelMap} message SecurityLevelMap message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesKeysRequest.encode = function encode(message, writer) { + SecurityLevelMap.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identityIds != null && message.identityIds.length) - for (var i = 0; i < message.identityIds.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identityIds[i]); - if (message.requestType != null && Object.hasOwnProperty.call(message, "requestType")) - $root.org.dash.platform.dapi.v0.KeyRequestType.encode(message.requestType, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - $root.google.protobuf.UInt32Value.encode(message.limit, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) - $root.google.protobuf.UInt32Value.encode(message.offset, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); + if (message.securityLevelMap != null && Object.hasOwnProperty.call(message, "securityLevelMap")) + for (var keys = Object.keys(message.securityLevelMap), i = 0; i < keys.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 0 =*/8).uint32(keys[i]).uint32(/* id 2, wireType 0 =*/16).int32(message.securityLevelMap[keys[i]]).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesKeysRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.verify|verify} messages. + * Encodes the specified SecurityLevelMap message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.SecurityLevelMap.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysRequest} message GetIdentitiesKeysRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.ISecurityLevelMap} message SecurityLevelMap message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesKeysRequest.encodeDelimited = function encodeDelimited(message, writer) { + SecurityLevelMap.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesKeysRequest message from the specified reader or buffer. + * Decodes a SecurityLevelMap message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} GetIdentitiesKeysRequest + * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesKeysRequest.decode = function decode(reader, length) { + SecurityLevelMap.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.SecurityLevelMap(), key, value; while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.identityIds && message.identityIds.length)) - message.identityIds = []; - message.identityIds.push(reader.bytes()); - break; - case 2: - message.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.decode(reader, reader.uint32()); - break; - case 3: - message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 4: - message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 5: - message.prove = reader.bool(); + if (message.securityLevelMap === $util.emptyObject) + message.securityLevelMap = {}; + var end2 = reader.uint32() + reader.pos; + key = 0; + value = 0; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.uint32(); + break; + case 2: + value = reader.int32(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.securityLevelMap[key] = value; break; default: reader.skipType(tag & 7); @@ -6283,419 +7360,152 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesKeysRequest message from the specified reader or buffer, length delimited. + * Decodes a SecurityLevelMap message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} GetIdentitiesKeysRequest + * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesKeysRequest.decodeDelimited = function decodeDelimited(reader) { + SecurityLevelMap.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesKeysRequest message. + * Verifies a SecurityLevelMap message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesKeysRequest.verify = function verify(message) { + SecurityLevelMap.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identityIds != null && message.hasOwnProperty("identityIds")) { - if (!Array.isArray(message.identityIds)) - return "identityIds: array expected"; - for (var i = 0; i < message.identityIds.length; ++i) - if (!(message.identityIds[i] && typeof message.identityIds[i].length === "number" || $util.isString(message.identityIds[i]))) - return "identityIds: buffer[] expected"; - } - if (message.requestType != null && message.hasOwnProperty("requestType")) { - var error = $root.org.dash.platform.dapi.v0.KeyRequestType.verify(message.requestType); - if (error) - return "requestType." + error; - } - if (message.limit != null && message.hasOwnProperty("limit")) { - var error = $root.google.protobuf.UInt32Value.verify(message.limit); - if (error) - return "limit." + error; - } - if (message.offset != null && message.hasOwnProperty("offset")) { - var error = $root.google.protobuf.UInt32Value.verify(message.offset); - if (error) - return "offset." + error; + if (message.securityLevelMap != null && message.hasOwnProperty("securityLevelMap")) { + if (!$util.isObject(message.securityLevelMap)) + return "securityLevelMap: object expected"; + var key = Object.keys(message.securityLevelMap); + for (var i = 0; i < key.length; ++i) { + if (!$util.key32Re.test(key[i])) + return "securityLevelMap: integer key{k:uint32} expected"; + switch (message.securityLevelMap[key[i]]) { + default: + return "securityLevelMap: enum value{k:uint32} expected"; + case 0: + case 1: + break; + } + } } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; return null; }; /** - * Creates a GetIdentitiesKeysRequest message from a plain object. Also converts values to their respective internal types. + * Creates a SecurityLevelMap message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} GetIdentitiesKeysRequest + * @returns {org.dash.platform.dapi.v0.SecurityLevelMap} SecurityLevelMap */ - GetIdentitiesKeysRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest) + SecurityLevelMap.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.SecurityLevelMap) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest(); - if (object.identityIds) { - if (!Array.isArray(object.identityIds)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.identityIds: array expected"); - message.identityIds = []; - for (var i = 0; i < object.identityIds.length; ++i) - if (typeof object.identityIds[i] === "string") - $util.base64.decode(object.identityIds[i], message.identityIds[i] = $util.newBuffer($util.base64.length(object.identityIds[i])), 0); - else if (object.identityIds[i].length >= 0) - message.identityIds[i] = object.identityIds[i]; - } - if (object.requestType != null) { - if (typeof object.requestType !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.requestType: object expected"); - message.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.fromObject(object.requestType); - } - if (object.limit != null) { - if (typeof object.limit !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.limit: object expected"); - message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); - } - if (object.offset != null) { - if (typeof object.offset !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.offset: object expected"); - message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); + var message = new $root.org.dash.platform.dapi.v0.SecurityLevelMap(); + if (object.securityLevelMap) { + if (typeof object.securityLevelMap !== "object") + throw TypeError(".org.dash.platform.dapi.v0.SecurityLevelMap.securityLevelMap: object expected"); + message.securityLevelMap = {}; + for (var keys = Object.keys(object.securityLevelMap), i = 0; i < keys.length; ++i) + switch (object.securityLevelMap[keys[i]]) { + case "CURRENT_KEY_OF_KIND_REQUEST": + case 0: + message.securityLevelMap[keys[i]] = 0; + break; + case "ALL_KEYS_OF_KIND_REQUEST": + case 1: + message.securityLevelMap[keys[i]] = 1; + break; + } } - if (object.prove != null) - message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetIdentitiesKeysRequest message. Also converts values to other types if specified. + * Creates a plain object from a SecurityLevelMap message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} message GetIdentitiesKeysRequest + * @param {org.dash.platform.dapi.v0.SecurityLevelMap} message SecurityLevelMap * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesKeysRequest.toObject = function toObject(message, options) { + SecurityLevelMap.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.identityIds = []; - if (options.defaults) { - object.requestType = null; - object.limit = null; - object.offset = null; - object.prove = false; - } - if (message.identityIds && message.identityIds.length) { - object.identityIds = []; - for (var j = 0; j < message.identityIds.length; ++j) - object.identityIds[j] = options.bytes === String ? $util.base64.encode(message.identityIds[j], 0, message.identityIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.identityIds[j]) : message.identityIds[j]; + if (options.objects || options.defaults) + object.securityLevelMap = {}; + var keys2; + if (message.securityLevelMap && (keys2 = Object.keys(message.securityLevelMap)).length) { + object.securityLevelMap = {}; + for (var j = 0; j < keys2.length; ++j) + object.securityLevelMap[keys2[j]] = options.enums === String ? $root.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType[message.securityLevelMap[keys2[j]]] : message.securityLevelMap[keys2[j]]; } - if (message.requestType != null && message.hasOwnProperty("requestType")) - object.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.toObject(message.requestType, options); - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); - if (message.offset != null && message.hasOwnProperty("offset")) - object.offset = $root.google.protobuf.UInt32Value.toObject(message.offset, options); - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; return object; - }; - - /** - * Converts this GetIdentitiesKeysRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest - * @instance - * @returns {Object.} JSON object - */ - GetIdentitiesKeysRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetIdentitiesKeysRequest.SecurityLevelMap = (function() { - - /** - * Properties of a SecurityLevelMap. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest - * @interface ISecurityLevelMap - * @property {Object.|null} [securityLevelMap] SecurityLevelMap securityLevelMap - */ - - /** - * Constructs a new SecurityLevelMap. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest - * @classdesc Represents a SecurityLevelMap. - * @implements ISecurityLevelMap - * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.ISecurityLevelMap=} [properties] Properties to set - */ - function SecurityLevelMap(properties) { - this.securityLevelMap = {}; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SecurityLevelMap securityLevelMap. - * @member {Object.} securityLevelMap - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @instance - */ - SecurityLevelMap.prototype.securityLevelMap = $util.emptyObject; - - /** - * Creates a new SecurityLevelMap instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.ISecurityLevelMap=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} SecurityLevelMap instance - */ - SecurityLevelMap.create = function create(properties) { - return new SecurityLevelMap(properties); - }; - - /** - * Encodes the specified SecurityLevelMap message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.ISecurityLevelMap} message SecurityLevelMap message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SecurityLevelMap.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.securityLevelMap != null && Object.hasOwnProperty.call(message, "securityLevelMap")) - for (var keys = Object.keys(message.securityLevelMap), i = 0; i < keys.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 0 =*/8).uint32(keys[i]).uint32(/* id 2, wireType 0 =*/16).int32(message.securityLevelMap[keys[i]]).ldelim(); - return writer; - }; - - /** - * Encodes the specified SecurityLevelMap message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.ISecurityLevelMap} message SecurityLevelMap message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SecurityLevelMap.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SecurityLevelMap message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} SecurityLevelMap - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SecurityLevelMap.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap(), key, value; - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (message.securityLevelMap === $util.emptyObject) - message.securityLevelMap = {}; - var end2 = reader.uint32() + reader.pos; - key = 0; - value = 0; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.uint32(); - break; - case 2: - value = reader.int32(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.securityLevelMap[key] = value; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SecurityLevelMap message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} SecurityLevelMap - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SecurityLevelMap.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SecurityLevelMap message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SecurityLevelMap.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.securityLevelMap != null && message.hasOwnProperty("securityLevelMap")) { - if (!$util.isObject(message.securityLevelMap)) - return "securityLevelMap: object expected"; - var key = Object.keys(message.securityLevelMap); - for (var i = 0; i < key.length; ++i) { - if (!$util.key32Re.test(key[i])) - return "securityLevelMap: integer key{k:uint32} expected"; - switch (message.securityLevelMap[key[i]]) { - default: - return "securityLevelMap: enum value{k:uint32} expected"; - case 0: - break; - } - } - } - return null; - }; - - /** - * Creates a SecurityLevelMap message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} SecurityLevelMap - */ - SecurityLevelMap.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap(); - if (object.securityLevelMap) { - if (typeof object.securityLevelMap !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.securityLevelMap: object expected"); - message.securityLevelMap = {}; - for (var keys = Object.keys(object.securityLevelMap), i = 0; i < keys.length; ++i) - switch (object.securityLevelMap[keys[i]]) { - case "CURRENT_KEY_OF_KIND_REQUEST": - case 0: - message.securityLevelMap[keys[i]] = 0; - break; - } - } - return message; - }; - - /** - * Creates a plain object from a SecurityLevelMap message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} message SecurityLevelMap - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SecurityLevelMap.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.objects || options.defaults) - object.securityLevelMap = {}; - var keys2; - if (message.securityLevelMap && (keys2 = Object.keys(message.securityLevelMap)).length) { - object.securityLevelMap = {}; - for (var j = 0; j < keys2.length; ++j) - object.securityLevelMap[keys2[j]] = options.enums === String ? $root.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType[message.securityLevelMap[keys2[j]]] : message.securityLevelMap[keys2[j]]; - } - return object; - }; - - /** - * Converts this SecurityLevelMap to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap - * @instance - * @returns {Object.} JSON object - */ - SecurityLevelMap.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * KeyKindRequestType enum. - * @name org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType - * @enum {number} - * @property {number} CURRENT_KEY_OF_KIND_REQUEST=0 CURRENT_KEY_OF_KIND_REQUEST value - */ - SecurityLevelMap.KeyKindRequestType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "CURRENT_KEY_OF_KIND_REQUEST"] = 0; - return values; - })(); + }; + + /** + * Converts this SecurityLevelMap to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.SecurityLevelMap + * @instance + * @returns {Object.} JSON object + */ + SecurityLevelMap.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return SecurityLevelMap; + /** + * KeyKindRequestType enum. + * @name org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType + * @enum {number} + * @property {number} CURRENT_KEY_OF_KIND_REQUEST=0 CURRENT_KEY_OF_KIND_REQUEST value + * @property {number} ALL_KEYS_OF_KIND_REQUEST=1 ALL_KEYS_OF_KIND_REQUEST value + */ + SecurityLevelMap.KeyKindRequestType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CURRENT_KEY_OF_KIND_REQUEST"] = 0; + values[valuesById[1] = "ALL_KEYS_OF_KIND_REQUEST"] = 1; + return values; })(); - return GetIdentitiesKeysRequest; + return SecurityLevelMap; })(); - v0.GetIdentitiesKeysResponse = (function() { + v0.GetIdentityKeysRequest = (function() { /** - * Properties of a GetIdentitiesKeysResponse. + * Properties of a GetIdentityKeysRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesKeysResponse - * @property {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntries|null} [publicKeys] GetIdentitiesKeysResponse publicKeys - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesKeysResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesKeysResponse metadata + * @interface IGetIdentityKeysRequest + * @property {org.dash.platform.dapi.v0.GetIdentityKeysRequest.IGetIdentityKeysRequestV0|null} [v0] GetIdentityKeysRequest v0 */ /** - * Constructs a new GetIdentitiesKeysResponse. + * Constructs a new GetIdentityKeysRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesKeysResponse. - * @implements IGetIdentitiesKeysResponse + * @classdesc Represents a GetIdentityKeysRequest. + * @implements IGetIdentityKeysRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest=} [properties] Properties to set */ - function GetIdentitiesKeysResponse(properties) { + function GetIdentityKeysRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6703,115 +7513,89 @@ $root.org = (function() { } /** - * GetIdentitiesKeysResponse publicKeys. - * @member {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntries|null|undefined} publicKeys - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @instance - */ - GetIdentitiesKeysResponse.prototype.publicKeys = null; - - /** - * GetIdentitiesKeysResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @instance - */ - GetIdentitiesKeysResponse.prototype.proof = null; - - /** - * GetIdentitiesKeysResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * GetIdentityKeysRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityKeysRequest.IGetIdentityKeysRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @instance */ - GetIdentitiesKeysResponse.prototype.metadata = null; + GetIdentityKeysRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesKeysResponse result. - * @member {"publicKeys"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * GetIdentityKeysRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @instance */ - Object.defineProperty(GetIdentitiesKeysResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["publicKeys", "proof"]), + Object.defineProperty(GetIdentityKeysRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesKeysResponse instance using the specified properties. + * Creates a new GetIdentityKeysRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} GetIdentitiesKeysResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest instance */ - GetIdentitiesKeysResponse.create = function create(properties) { - return new GetIdentitiesKeysResponse(properties); + GetIdentityKeysRequest.create = function create(properties) { + return new GetIdentityKeysRequest(properties); }; /** - * Encodes the specified GetIdentitiesKeysResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.verify|verify} messages. + * Encodes the specified GetIdentityKeysRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysResponse} message GetIdentitiesKeysResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest} message GetIdentityKeysRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesKeysResponse.encode = function encode(message, writer) { + GetIdentityKeysRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.publicKeys != null && Object.hasOwnProperty.call(message, "publicKeys")) - $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.encode(message.publicKeys, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesKeysResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.verify|verify} messages. + * Encodes the specified GetIdentityKeysRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesKeysResponse} message GetIdentitiesKeysResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysRequest} message GetIdentityKeysRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesKeysResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityKeysRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesKeysResponse message from the specified reader or buffer. + * Decodes a GetIdentityKeysRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} GetIdentitiesKeysResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesKeysResponse.decode = function decode(reader, length) { + GetIdentityKeysRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.publicKeys = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -6822,148 +7606,118 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesKeysResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityKeysRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} GetIdentitiesKeysResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesKeysResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentityKeysRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesKeysResponse message. + * Verifies a GetIdentityKeysRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesKeysResponse.verify = function verify(message) { + GetIdentityKeysRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.publicKeys != null && message.hasOwnProperty("publicKeys")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.verify(message.publicKeys); - if (error) - return "publicKeys." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; /** - * Creates a GetIdentitiesKeysResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityKeysRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} GetIdentitiesKeysResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest} GetIdentityKeysRequest */ - GetIdentitiesKeysResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse) + GetIdentityKeysRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse(); - if (object.publicKeys != null) { - if (typeof object.publicKeys !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.publicKeys: object expected"); - message.publicKeys = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.fromObject(object.publicKeys); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentitiesKeysResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityKeysRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} message GetIdentitiesKeysResponse + * @param {org.dash.platform.dapi.v0.GetIdentityKeysRequest} message GetIdentityKeysRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesKeysResponse.toObject = function toObject(message, options) { + GetIdentityKeysRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.publicKeys != null && message.hasOwnProperty("publicKeys")) { - object.publicKeys = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObject(message.publicKeys, options); - if (options.oneofs) - object.result = "publicKeys"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(message.v0, options); if (options.oneofs) - object.result = "proof"; + object.version = "v0"; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetIdentitiesKeysResponse to JSON. + * Converts this GetIdentityKeysRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest * @instance * @returns {Object.} JSON object */ - GetIdentitiesKeysResponse.prototype.toJSON = function toJSON() { + GetIdentityKeysRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesKeysResponse.PublicKey = (function() { + GetIdentityKeysRequest.GetIdentityKeysRequestV0 = (function() { /** - * Properties of a PublicKey. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @interface IPublicKey - * @property {Uint8Array|null} [value] PublicKey value + * Properties of a GetIdentityKeysRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @interface IGetIdentityKeysRequestV0 + * @property {Uint8Array|null} [identityId] GetIdentityKeysRequestV0 identityId + * @property {org.dash.platform.dapi.v0.IKeyRequestType|null} [requestType] GetIdentityKeysRequestV0 requestType + * @property {google.protobuf.IUInt32Value|null} [limit] GetIdentityKeysRequestV0 limit + * @property {google.protobuf.IUInt32Value|null} [offset] GetIdentityKeysRequestV0 offset + * @property {boolean|null} [prove] GetIdentityKeysRequestV0 prove */ /** - * Constructs a new PublicKey. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @classdesc Represents a PublicKey. - * @implements IPublicKey + * Constructs a new GetIdentityKeysRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest + * @classdesc Represents a GetIdentityKeysRequestV0. + * @implements IGetIdentityKeysRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKey=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityKeysRequest.IGetIdentityKeysRequestV0=} [properties] Properties to set */ - function PublicKey(properties) { + function GetIdentityKeysRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6971,285 +7725,127 @@ $root.org = (function() { } /** - * PublicKey value. - * @member {Uint8Array} value - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey + * GetIdentityKeysRequestV0 identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @instance */ - PublicKey.prototype.value = $util.newBuffer([]); - - /** - * Creates a new PublicKey instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKey=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} PublicKey instance - */ - PublicKey.create = function create(properties) { - return new PublicKey(properties); - }; - - /** - * Encodes the specified PublicKey message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKey} message PublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PublicKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); - return writer; - }; - - /** - * Encodes the specified PublicKey message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKey} message PublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PublicKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PublicKey message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} PublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PublicKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.value = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PublicKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} PublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PublicKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PublicKey message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PublicKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - return null; - }; - - /** - * Creates a PublicKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} PublicKey - */ - PublicKey.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey(); - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length >= 0) - message.value = object.value; - return message; - }; - - /** - * Creates a plain object from a PublicKey message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} message PublicKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PublicKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - return object; - }; + GetIdentityKeysRequestV0.prototype.identityId = $util.newBuffer([]); /** - * Converts this PublicKey to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey + * GetIdentityKeysRequestV0 requestType. + * @member {org.dash.platform.dapi.v0.IKeyRequestType|null|undefined} requestType + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @instance - * @returns {Object.} JSON object - */ - PublicKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PublicKey; - })(); - - GetIdentitiesKeysResponse.PublicKeyEntry = (function() { - - /** - * Properties of a PublicKeyEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @interface IPublicKeyEntry - * @property {Uint8Array|null} [key] PublicKeyEntry key - * @property {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKey|null} [value] PublicKeyEntry value */ + GetIdentityKeysRequestV0.prototype.requestType = null; /** - * Constructs a new PublicKeyEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @classdesc Represents a PublicKeyEntry. - * @implements IPublicKeyEntry - * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntry=} [properties] Properties to set + * GetIdentityKeysRequestV0 limit. + * @member {google.protobuf.IUInt32Value|null|undefined} limit + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 + * @instance */ - function PublicKeyEntry(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + GetIdentityKeysRequestV0.prototype.limit = null; /** - * PublicKeyEntry key. - * @member {Uint8Array} key - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * GetIdentityKeysRequestV0 offset. + * @member {google.protobuf.IUInt32Value|null|undefined} offset + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @instance */ - PublicKeyEntry.prototype.key = $util.newBuffer([]); + GetIdentityKeysRequestV0.prototype.offset = null; /** - * PublicKeyEntry value. - * @member {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKey|null|undefined} value - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * GetIdentityKeysRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @instance */ - PublicKeyEntry.prototype.value = null; + GetIdentityKeysRequestV0.prototype.prove = false; /** - * Creates a new PublicKeyEntry instance using the specified properties. + * Creates a new GetIdentityKeysRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} PublicKeyEntry instance + * @param {org.dash.platform.dapi.v0.GetIdentityKeysRequest.IGetIdentityKeysRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} GetIdentityKeysRequestV0 instance */ - PublicKeyEntry.create = function create(properties) { - return new PublicKeyEntry(properties); + GetIdentityKeysRequestV0.create = function create(properties) { + return new GetIdentityKeysRequestV0(properties); }; /** - * Encodes the specified PublicKeyEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.verify|verify} messages. + * Encodes the specified GetIdentityKeysRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntry} message PublicKeyEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityKeysRequest.IGetIdentityKeysRequestV0} message GetIdentityKeysRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PublicKeyEntry.encode = function encode(message, writer) { + GetIdentityKeysRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identityId); + if (message.requestType != null && Object.hasOwnProperty.call(message, "requestType")) + $root.org.dash.platform.dapi.v0.KeyRequestType.encode(message.requestType, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + $root.google.protobuf.UInt32Value.encode(message.limit, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) + $root.google.protobuf.UInt32Value.encode(message.offset, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); return writer; }; /** - * Encodes the specified PublicKeyEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.verify|verify} messages. + * Encodes the specified GetIdentityKeysRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntry} message PublicKeyEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityKeysRequest.IGetIdentityKeysRequestV0} message GetIdentityKeysRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PublicKeyEntry.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityKeysRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a PublicKeyEntry message from the specified reader or buffer. + * Decodes a GetIdentityKeysRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} PublicKeyEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} GetIdentityKeysRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PublicKeyEntry.decode = function decode(reader, length) { + GetIdentityKeysRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.key = reader.bytes(); + message.identityId = reader.bytes(); break; case 2: - message.value = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.decode(reader, reader.uint32()); + message.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.decode(reader, reader.uint32()); + break; + case 3: + message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + break; + case 4: + message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + break; + case 5: + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -7260,131 +7856,377 @@ $root.org = (function() { }; /** - * Decodes a PublicKeyEntry message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityKeysRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} PublicKeyEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} GetIdentityKeysRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PublicKeyEntry.decodeDelimited = function decodeDelimited(reader) { + GetIdentityKeysRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a PublicKeyEntry message. + * Verifies a GetIdentityKeysRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PublicKeyEntry.verify = function verify(message) { + GetIdentityKeysRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.verify(message.value); + if (message.identityId != null && message.hasOwnProperty("identityId")) + if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId))) + return "identityId: buffer expected"; + if (message.requestType != null && message.hasOwnProperty("requestType")) { + var error = $root.org.dash.platform.dapi.v0.KeyRequestType.verify(message.requestType); + if (error) + return "requestType." + error; + } + if (message.limit != null && message.hasOwnProperty("limit")) { + var error = $root.google.protobuf.UInt32Value.verify(message.limit); + if (error) + return "limit." + error; + } + if (message.offset != null && message.hasOwnProperty("offset")) { + var error = $root.google.protobuf.UInt32Value.verify(message.offset); if (error) - return "value." + error; + return "offset." + error; } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a PublicKeyEntry message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityKeysRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} PublicKeyEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} GetIdentityKeysRequestV0 */ - PublicKeyEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry) + GetIdentityKeysRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length >= 0) - message.key = object.key; - if (object.value != null) { - if (typeof object.value !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.value: object expected"); - message.value = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.fromObject(object.value); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0(); + if (object.identityId != null) + if (typeof object.identityId === "string") + $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0); + else if (object.identityId.length >= 0) + message.identityId = object.identityId; + if (object.requestType != null) { + if (typeof object.requestType !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.requestType: object expected"); + message.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.fromObject(object.requestType); + } + if (object.limit != null) { + if (typeof object.limit !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.limit: object expected"); + message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); } + if (object.offset != null) { + if (typeof object.offset !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.offset: object expected"); + message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); + } + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a PublicKeyEntry message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityKeysRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} message PublicKeyEntry + * @param {org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} message GetIdentityKeysRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - PublicKeyEntry.toObject = function toObject(message, options) { + GetIdentityKeysRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.key = ""; + object.identityId = ""; else { - object.key = []; + object.identityId = []; if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); + object.identityId = $util.newBuffer(object.identityId); } - object.value = null; + object.requestType = null; + object.limit = null; + object.offset = null; + object.prove = false; } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.toObject(message.value, options); + if (message.identityId != null && message.hasOwnProperty("identityId")) + object.identityId = options.bytes === String ? $util.base64.encode(message.identityId, 0, message.identityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityId) : message.identityId; + if (message.requestType != null && message.hasOwnProperty("requestType")) + object.requestType = $root.org.dash.platform.dapi.v0.KeyRequestType.toObject(message.requestType, options); + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); + if (message.offset != null && message.hasOwnProperty("offset")) + object.offset = $root.google.protobuf.UInt32Value.toObject(message.offset, options); + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this PublicKeyEntry to JSON. + * Converts this GetIdentityKeysRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 * @instance * @returns {Object.} JSON object */ - PublicKeyEntry.prototype.toJSON = function toJSON() { + GetIdentityKeysRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return PublicKeyEntry; + return GetIdentityKeysRequestV0; })(); - GetIdentitiesKeysResponse.PublicKeyEntries = (function() { + return GetIdentityKeysRequest; + })(); + + v0.GetIdentityKeysResponse = (function() { + + /** + * Properties of a GetIdentityKeysResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentityKeysResponse + * @property {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IGetIdentityKeysResponseV0|null} [v0] GetIdentityKeysResponse v0 + */ + + /** + * Constructs a new GetIdentityKeysResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentityKeysResponse. + * @implements IGetIdentityKeysResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse=} [properties] Properties to set + */ + function GetIdentityKeysResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentityKeysResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IGetIdentityKeysResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @instance + */ + GetIdentityKeysResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityKeysResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @instance + */ + Object.defineProperty(GetIdentityKeysResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityKeysResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse instance + */ + GetIdentityKeysResponse.create = function create(properties) { + return new GetIdentityKeysResponse(properties); + }; + + /** + * Encodes the specified GetIdentityKeysResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse} message GetIdentityKeysResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityKeysResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentityKeysResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityKeysResponse} message GetIdentityKeysResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityKeysResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityKeysResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityKeysResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityKeysResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityKeysResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityKeysResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityKeysResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetIdentityKeysResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse} GetIdentityKeysResponse + */ + GetIdentityKeysResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentityKeysResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse} message GetIdentityKeysResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityKeysResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetIdentityKeysResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @instance + * @returns {Object.} JSON object + */ + GetIdentityKeysResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentityKeysResponse.GetIdentityKeysResponseV0 = (function() { /** - * Properties of a PublicKeyEntries. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @interface IPublicKeyEntries - * @property {Array.|null} [publicKeyEntries] PublicKeyEntries publicKeyEntries + * Properties of a GetIdentityKeysResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @interface IGetIdentityKeysResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.IKeys|null} [keys] GetIdentityKeysResponseV0 keys + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityKeysResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityKeysResponseV0 metadata */ /** - * Constructs a new PublicKeyEntries. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse - * @classdesc Represents a PublicKeyEntries. - * @implements IPublicKeyEntries + * Constructs a new GetIdentityKeysResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse + * @classdesc Represents a GetIdentityKeysResponseV0. + * @implements IGetIdentityKeysResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntries=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IGetIdentityKeysResponseV0=} [properties] Properties to set */ - function PublicKeyEntries(properties) { - this.publicKeyEntries = []; + function GetIdentityKeysResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7392,78 +8234,115 @@ $root.org = (function() { } /** - * PublicKeyEntries publicKeyEntries. - * @member {Array.} publicKeyEntries - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * GetIdentityKeysResponseV0 keys. + * @member {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.IKeys|null|undefined} keys + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 + * @instance + */ + GetIdentityKeysResponseV0.prototype.keys = null; + + /** + * GetIdentityKeysResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 + * @instance + */ + GetIdentityKeysResponseV0.prototype.proof = null; + + /** + * GetIdentityKeysResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 + * @instance + */ + GetIdentityKeysResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityKeysResponseV0 result. + * @member {"keys"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @instance */ - PublicKeyEntries.prototype.publicKeyEntries = $util.emptyArray; + Object.defineProperty(GetIdentityKeysResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["keys", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new PublicKeyEntries instance using the specified properties. + * Creates a new GetIdentityKeysResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntries=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} PublicKeyEntries instance + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IGetIdentityKeysResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} GetIdentityKeysResponseV0 instance */ - PublicKeyEntries.create = function create(properties) { - return new PublicKeyEntries(properties); + GetIdentityKeysResponseV0.create = function create(properties) { + return new GetIdentityKeysResponseV0(properties); }; /** - * Encodes the specified PublicKeyEntries message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.verify|verify} messages. + * Encodes the specified GetIdentityKeysResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntries} message PublicKeyEntries message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IGetIdentityKeysResponseV0} message GetIdentityKeysResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PublicKeyEntries.encode = function encode(message, writer) { + GetIdentityKeysResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.publicKeyEntries != null && message.publicKeyEntries.length) - for (var i = 0; i < message.publicKeyEntries.length; ++i) - $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.encode(message.publicKeyEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.keys != null && Object.hasOwnProperty.call(message, "keys")) + $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.encode(message.keys, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified PublicKeyEntries message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.verify|verify} messages. + * Encodes the specified GetIdentityKeysResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.IPublicKeyEntries} message PublicKeyEntries message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.IGetIdentityKeysResponseV0} message GetIdentityKeysResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PublicKeyEntries.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityKeysResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a PublicKeyEntries message from the specified reader or buffer. + * Decodes a GetIdentityKeysResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} PublicKeyEntries + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} GetIdentityKeysResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PublicKeyEntries.decode = function decode(reader, length) { + GetIdentityKeysResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.publicKeyEntries && message.publicKeyEntries.length)) - message.publicKeyEntries = []; - message.publicKeyEntries.push($root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.decode(reader, reader.uint32())); + message.keys = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -7474,107 +8353,340 @@ $root.org = (function() { }; /** - * Decodes a PublicKeyEntries message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityKeysResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} PublicKeyEntries + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} GetIdentityKeysResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PublicKeyEntries.decodeDelimited = function decodeDelimited(reader) { + GetIdentityKeysResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a PublicKeyEntries message. + * Verifies a GetIdentityKeysResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PublicKeyEntries.verify = function verify(message) { + GetIdentityKeysResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.publicKeyEntries != null && message.hasOwnProperty("publicKeyEntries")) { - if (!Array.isArray(message.publicKeyEntries)) - return "publicKeyEntries: array expected"; - for (var i = 0; i < message.publicKeyEntries.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.verify(message.publicKeyEntries[i]); + var properties = {}; + if (message.keys != null && message.hasOwnProperty("keys")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.verify(message.keys); + if (error) + return "keys." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); if (error) - return "publicKeyEntries." + error; + return "proof." + error; } } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } return null; }; /** - * Creates a PublicKeyEntries message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityKeysResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} PublicKeyEntries + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} GetIdentityKeysResponseV0 */ - PublicKeyEntries.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries) + GetIdentityKeysResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries(); - if (object.publicKeyEntries) { - if (!Array.isArray(object.publicKeyEntries)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.publicKeyEntries: array expected"); - message.publicKeyEntries = []; - for (var i = 0; i < object.publicKeyEntries.length; ++i) { - if (typeof object.publicKeyEntries[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.publicKeyEntries: object expected"); - message.publicKeyEntries[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.fromObject(object.publicKeyEntries[i]); - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0(); + if (object.keys != null) { + if (typeof object.keys !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.keys: object expected"); + message.keys = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.fromObject(object.keys); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a PublicKeyEntries message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityKeysResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} message PublicKeyEntries + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} message GetIdentityKeysResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - PublicKeyEntries.toObject = function toObject(message, options) { + GetIdentityKeysResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.publicKeyEntries = []; - if (message.publicKeyEntries && message.publicKeyEntries.length) { - object.publicKeyEntries = []; - for (var j = 0; j < message.publicKeyEntries.length; ++j) - object.publicKeyEntries[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObject(message.publicKeyEntries[j], options); + if (options.defaults) + object.metadata = null; + if (message.keys != null && message.hasOwnProperty("keys")) { + object.keys = $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(message.keys, options); + if (options.oneofs) + object.result = "keys"; } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this PublicKeyEntries to JSON. + * Converts this GetIdentityKeysResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 * @instance * @returns {Object.} JSON object */ - PublicKeyEntries.prototype.toJSON = function toJSON() { + GetIdentityKeysResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return PublicKeyEntries; + GetIdentityKeysResponseV0.Keys = (function() { + + /** + * Properties of a Keys. + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 + * @interface IKeys + * @property {Array.|null} [keysBytes] Keys keysBytes + */ + + /** + * Constructs a new Keys. + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 + * @classdesc Represents a Keys. + * @implements IKeys + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.IKeys=} [properties] Properties to set + */ + function Keys(properties) { + this.keysBytes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Keys keysBytes. + * @member {Array.} keysBytes + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @instance + */ + Keys.prototype.keysBytes = $util.emptyArray; + + /** + * Creates a new Keys instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.IKeys=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} Keys instance + */ + Keys.create = function create(properties) { + return new Keys(properties); + }; + + /** + * Encodes the specified Keys message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.IKeys} message Keys message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Keys.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.keysBytes != null && message.keysBytes.length) + for (var i = 0; i < message.keysBytes.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.keysBytes[i]); + return writer; + }; + + /** + * Encodes the specified Keys message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.IKeys} message Keys message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Keys.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Keys message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} Keys + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Keys.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.keysBytes && message.keysBytes.length)) + message.keysBytes = []; + message.keysBytes.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Keys message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} Keys + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Keys.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Keys message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Keys.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.keysBytes != null && message.hasOwnProperty("keysBytes")) { + if (!Array.isArray(message.keysBytes)) + return "keysBytes: array expected"; + for (var i = 0; i < message.keysBytes.length; ++i) + if (!(message.keysBytes[i] && typeof message.keysBytes[i].length === "number" || $util.isString(message.keysBytes[i]))) + return "keysBytes: buffer[] expected"; + } + return null; + }; + + /** + * Creates a Keys message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} Keys + */ + Keys.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys(); + if (object.keysBytes) { + if (!Array.isArray(object.keysBytes)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.keysBytes: array expected"); + message.keysBytes = []; + for (var i = 0; i < object.keysBytes.length; ++i) + if (typeof object.keysBytes[i] === "string") + $util.base64.decode(object.keysBytes[i], message.keysBytes[i] = $util.newBuffer($util.base64.length(object.keysBytes[i])), 0); + else if (object.keysBytes[i].length >= 0) + message.keysBytes[i] = object.keysBytes[i]; + } + return message; + }; + + /** + * Creates a plain object from a Keys message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} message Keys + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Keys.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.keysBytes = []; + if (message.keysBytes && message.keysBytes.length) { + object.keysBytes = []; + for (var j = 0; j < message.keysBytes.length; ++j) + object.keysBytes[j] = options.bytes === String ? $util.base64.encode(message.keysBytes[j], 0, message.keysBytes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.keysBytes[j]) : message.keysBytes[j]; + } + return object; + }; + + /** + * Converts this Keys to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys + * @instance + * @returns {Object.} JSON object + */ + Keys.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Keys; + })(); + + return GetIdentityKeysResponseV0; })(); - return GetIdentitiesKeysResponse; + return GetIdentityKeysResponse; })(); v0.GetProofsRequest = (function() { @@ -7583,9 +8695,7 @@ $root.org = (function() { * Properties of a GetProofsRequest. * @memberof org.dash.platform.dapi.v0 * @interface IGetProofsRequest - * @property {Array.|null} [identities] GetProofsRequest identities - * @property {Array.|null} [contracts] GetProofsRequest contracts - * @property {Array.|null} [documents] GetProofsRequest documents + * @property {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0|null} [v0] GetProofsRequest v0 */ /** @@ -7597,9 +8707,6 @@ $root.org = (function() { * @param {org.dash.platform.dapi.v0.IGetProofsRequest=} [properties] Properties to set */ function GetProofsRequest(properties) { - this.identities = []; - this.contracts = []; - this.documents = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7607,28 +8714,26 @@ $root.org = (function() { } /** - * GetProofsRequest identities. - * @member {Array.} identities + * GetProofsRequest v0. + * @member {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0|null|undefined} v0 * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @instance */ - GetProofsRequest.prototype.identities = $util.emptyArray; + GetProofsRequest.prototype.v0 = null; - /** - * GetProofsRequest contracts. - * @member {Array.} contracts - * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @instance - */ - GetProofsRequest.prototype.contracts = $util.emptyArray; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetProofsRequest documents. - * @member {Array.} documents + * GetProofsRequest version. + * @member {"v0"|undefined} version * @memberof org.dash.platform.dapi.v0.GetProofsRequest * @instance */ - GetProofsRequest.prototype.documents = $util.emptyArray; + Object.defineProperty(GetProofsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** * Creates a new GetProofsRequest instance using the specified properties. @@ -7654,15 +8759,8 @@ $root.org = (function() { GetProofsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identities != null && message.identities.length) - for (var i = 0; i < message.identities.length; ++i) - $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.encode(message.identities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.contracts != null && message.contracts.length) - for (var i = 0; i < message.contracts.length; ++i) - $root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.encode(message.contracts[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.documents != null && message.documents.length) - for (var i = 0; i < message.documents.length; ++i) - $root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.encode(message.documents[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -7698,19 +8796,7 @@ $root.org = (function() { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.identities && message.identities.length)) - message.identities = []; - message.identities.push($root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.contracts && message.contracts.length)) - message.contracts = []; - message.contracts.push($root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.documents && message.documents.length)) - message.documents = []; - message.documents.push($root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.decode(reader, reader.uint32())); + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -7747,31 +8833,13 @@ $root.org = (function() { GetProofsRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identities != null && message.hasOwnProperty("identities")) { - if (!Array.isArray(message.identities)) - return "identities: array expected"; - for (var i = 0; i < message.identities.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.verify(message.identities[i]); - if (error) - return "identities." + error; - } - } - if (message.contracts != null && message.hasOwnProperty("contracts")) { - if (!Array.isArray(message.contracts)) - return "contracts: array expected"; - for (var i = 0; i < message.contracts.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.verify(message.contracts[i]); - if (error) - return "contracts." + error; - } - } - if (message.documents != null && message.hasOwnProperty("documents")) { - if (!Array.isArray(message.documents)) - return "documents: array expected"; - for (var i = 0; i < message.documents.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.verify(message.documents[i]); + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify(message.v0); if (error) - return "documents." + error; + return "v0." + error; } } return null; @@ -7789,35 +8857,10 @@ $root.org = (function() { if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest) return object; var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest(); - if (object.identities) { - if (!Array.isArray(object.identities)) - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.identities: array expected"); - message.identities = []; - for (var i = 0; i < object.identities.length; ++i) { - if (typeof object.identities[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.identities: object expected"); - message.identities[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.fromObject(object.identities[i]); - } - } - if (object.contracts) { - if (!Array.isArray(object.contracts)) - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.contracts: array expected"); - message.contracts = []; - for (var i = 0; i < object.contracts.length; ++i) { - if (typeof object.contracts[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.contracts: object expected"); - message.contracts[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.fromObject(object.contracts[i]); - } - } - if (object.documents) { - if (!Array.isArray(object.documents)) - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.documents: array expected"); - message.documents = []; - for (var i = 0; i < object.documents.length; ++i) { - if (typeof object.documents[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.documents: object expected"); - message.documents[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.fromObject(object.documents[i]); - } + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.fromObject(object.v0); } return message; }; @@ -7835,25 +8878,10 @@ $root.org = (function() { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.identities = []; - object.contracts = []; - object.documents = []; - } - if (message.identities && message.identities.length) { - object.identities = []; - for (var j = 0; j < message.identities.length; ++j) - object.identities[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject(message.identities[j], options); - } - if (message.contracts && message.contracts.length) { - object.contracts = []; - for (var j = 0; j < message.contracts.length; ++j) - object.contracts[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject(message.contracts[j], options); - } - if (message.documents && message.documents.length) { - object.documents = []; - for (var j = 0; j < message.documents.length; ++j) - object.documents[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject(message.documents[j], options); + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } return object; }; @@ -7869,27 +8897,29 @@ $root.org = (function() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProofsRequest.DocumentRequest = (function() { + GetProofsRequest.GetProofsRequestV0 = (function() { /** - * Properties of a DocumentRequest. + * Properties of a GetProofsRequestV0. * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @interface IDocumentRequest - * @property {Uint8Array|null} [contractId] DocumentRequest contractId - * @property {string|null} [documentType] DocumentRequest documentType - * @property {boolean|null} [documentTypeKeepsHistory] DocumentRequest documentTypeKeepsHistory - * @property {Uint8Array|null} [documentId] DocumentRequest documentId + * @interface IGetProofsRequestV0 + * @property {Array.|null} [identities] GetProofsRequestV0 identities + * @property {Array.|null} [contracts] GetProofsRequestV0 contracts + * @property {Array.|null} [documents] GetProofsRequestV0 documents */ /** - * Constructs a new DocumentRequest. + * Constructs a new GetProofsRequestV0. * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @classdesc Represents a DocumentRequest. - * @implements IDocumentRequest + * @classdesc Represents a GetProofsRequestV0. + * @implements IGetProofsRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IDocumentRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0=} [properties] Properties to set */ - function DocumentRequest(properties) { + function GetProofsRequestV0(properties) { + this.identities = []; + this.contracts = []; + this.documents = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7897,114 +8927,110 @@ $root.org = (function() { } /** - * DocumentRequest contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * GetProofsRequestV0 identities. + * @member {Array.} identities + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance */ - DocumentRequest.prototype.contractId = $util.newBuffer([]); + GetProofsRequestV0.prototype.identities = $util.emptyArray; /** - * DocumentRequest documentType. - * @member {string} documentType - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest - * @instance - */ - DocumentRequest.prototype.documentType = ""; - - /** - * DocumentRequest documentTypeKeepsHistory. - * @member {boolean} documentTypeKeepsHistory - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * GetProofsRequestV0 contracts. + * @member {Array.} contracts + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance */ - DocumentRequest.prototype.documentTypeKeepsHistory = false; + GetProofsRequestV0.prototype.contracts = $util.emptyArray; /** - * DocumentRequest documentId. - * @member {Uint8Array} documentId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * GetProofsRequestV0 documents. + * @member {Array.} documents + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance */ - DocumentRequest.prototype.documentId = $util.newBuffer([]); + GetProofsRequestV0.prototype.documents = $util.emptyArray; /** - * Creates a new DocumentRequest instance using the specified properties. + * Creates a new GetProofsRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IDocumentRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} DocumentRequest instance + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 instance */ - DocumentRequest.create = function create(properties) { - return new DocumentRequest(properties); + GetProofsRequestV0.create = function create(properties) { + return new GetProofsRequestV0(properties); }; /** - * Encodes the specified DocumentRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.verify|verify} messages. + * Encodes the specified GetProofsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0} message GetProofsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DocumentRequest.encode = function encode(message, writer) { + GetProofsRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); - if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); - if (message.documentTypeKeepsHistory != null && Object.hasOwnProperty.call(message, "documentTypeKeepsHistory")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.documentTypeKeepsHistory); - if (message.documentId != null && Object.hasOwnProperty.call(message, "documentId")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.documentId); + if (message.identities != null && message.identities.length) + for (var i = 0; i < message.identities.length; ++i) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.encode(message.identities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.contracts != null && message.contracts.length) + for (var i = 0; i < message.contracts.length; ++i) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.encode(message.contracts[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.documents != null && message.documents.length) + for (var i = 0; i < message.documents.length; ++i) + $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.encode(message.documents[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified DocumentRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.verify|verify} messages. + * Encodes the specified GetProofsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProofsRequest.IGetProofsRequestV0} message GetProofsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DocumentRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProofsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DocumentRequest message from the specified reader or buffer. + * Decodes a GetProofsRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} DocumentRequest + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DocumentRequest.decode = function decode(reader, length) { + GetProofsRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.contractId = reader.bytes(); + if (!(message.identities && message.identities.length)) + message.identities = []; + message.identities.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.decode(reader, reader.uint32())); break; case 2: - message.documentType = reader.string(); + if (!(message.contracts && message.contracts.length)) + message.contracts = []; + message.contracts.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.decode(reader, reader.uint32())); break; case 3: - message.documentTypeKeepsHistory = reader.bool(); - break; - case 4: - message.documentId = reader.bytes(); + if (!(message.documents && message.documents.length)) + message.documents = []; + message.documents.push($root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -8015,403 +9041,1108 @@ $root.org = (function() { }; /** - * Decodes a DocumentRequest message from the specified reader or buffer, length delimited. + * Decodes a GetProofsRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} DocumentRequest + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DocumentRequest.decodeDelimited = function decodeDelimited(reader) { + GetProofsRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DocumentRequest message. + * Verifies a GetProofsRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DocumentRequest.verify = function verify(message) { + GetProofsRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.contractId != null && message.hasOwnProperty("contractId")) - if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) - return "contractId: buffer expected"; - if (message.documentType != null && message.hasOwnProperty("documentType")) - if (!$util.isString(message.documentType)) - return "documentType: string expected"; - if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) - if (typeof message.documentTypeKeepsHistory !== "boolean") - return "documentTypeKeepsHistory: boolean expected"; - if (message.documentId != null && message.hasOwnProperty("documentId")) - if (!(message.documentId && typeof message.documentId.length === "number" || $util.isString(message.documentId))) - return "documentId: buffer expected"; + if (message.identities != null && message.hasOwnProperty("identities")) { + if (!Array.isArray(message.identities)) + return "identities: array expected"; + for (var i = 0; i < message.identities.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify(message.identities[i]); + if (error) + return "identities." + error; + } + } + if (message.contracts != null && message.hasOwnProperty("contracts")) { + if (!Array.isArray(message.contracts)) + return "contracts: array expected"; + for (var i = 0; i < message.contracts.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify(message.contracts[i]); + if (error) + return "contracts." + error; + } + } + if (message.documents != null && message.hasOwnProperty("documents")) { + if (!Array.isArray(message.documents)) + return "documents: array expected"; + for (var i = 0; i < message.documents.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify(message.documents[i]); + if (error) + return "documents." + error; + } + } return null; }; /** - * Creates a DocumentRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetProofsRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} DocumentRequest + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} GetProofsRequestV0 */ - DocumentRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest) + GetProofsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest(); - if (object.contractId != null) - if (typeof object.contractId === "string") - $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); - else if (object.contractId.length >= 0) - message.contractId = object.contractId; - if (object.documentType != null) - message.documentType = String(object.documentType); - if (object.documentTypeKeepsHistory != null) - message.documentTypeKeepsHistory = Boolean(object.documentTypeKeepsHistory); - if (object.documentId != null) - if (typeof object.documentId === "string") - $util.base64.decode(object.documentId, message.documentId = $util.newBuffer($util.base64.length(object.documentId)), 0); - else if (object.documentId.length >= 0) - message.documentId = object.documentId; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0(); + if (object.identities) { + if (!Array.isArray(object.identities)) + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities: array expected"); + message.identities = []; + for (var i = 0; i < object.identities.length; ++i) { + if (typeof object.identities[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities: object expected"); + message.identities[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.fromObject(object.identities[i]); + } + } + if (object.contracts) { + if (!Array.isArray(object.contracts)) + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts: array expected"); + message.contracts = []; + for (var i = 0; i < object.contracts.length; ++i) { + if (typeof object.contracts[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts: object expected"); + message.contracts[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.fromObject(object.contracts[i]); + } + } + if (object.documents) { + if (!Array.isArray(object.documents)) + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents: array expected"); + message.documents = []; + for (var i = 0; i < object.documents.length; ++i) { + if (typeof object.documents[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents: object expected"); + message.documents[i] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.fromObject(object.documents[i]); + } + } return message; }; /** - * Creates a plain object from a DocumentRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetProofsRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} message DocumentRequest + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message GetProofsRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DocumentRequest.toObject = function toObject(message, options) { + GetProofsRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.contractId = ""; - else { - object.contractId = []; - if (options.bytes !== Array) - object.contractId = $util.newBuffer(object.contractId); - } - object.documentType = ""; - object.documentTypeKeepsHistory = false; - if (options.bytes === String) - object.documentId = ""; - else { - object.documentId = []; - if (options.bytes !== Array) - object.documentId = $util.newBuffer(object.documentId); - } + if (options.arrays || options.defaults) { + object.identities = []; + object.contracts = []; + object.documents = []; + } + if (message.identities && message.identities.length) { + object.identities = []; + for (var j = 0; j < message.identities.length; ++j) + object.identities[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(message.identities[j], options); + } + if (message.contracts && message.contracts.length) { + object.contracts = []; + for (var j = 0; j < message.contracts.length; ++j) + object.contracts[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(message.contracts[j], options); + } + if (message.documents && message.documents.length) { + object.documents = []; + for (var j = 0; j < message.documents.length; ++j) + object.documents[j] = $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(message.documents[j], options); } - if (message.contractId != null && message.hasOwnProperty("contractId")) - object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; - if (message.documentType != null && message.hasOwnProperty("documentType")) - object.documentType = message.documentType; - if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) - object.documentTypeKeepsHistory = message.documentTypeKeepsHistory; - if (message.documentId != null && message.hasOwnProperty("documentId")) - object.documentId = options.bytes === String ? $util.base64.encode(message.documentId, 0, message.documentId.length) : options.bytes === Array ? Array.prototype.slice.call(message.documentId) : message.documentId; return object; }; /** - * Converts this DocumentRequest to JSON. + * Converts this GetProofsRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 * @instance * @returns {Object.} JSON object */ - DocumentRequest.prototype.toJSON = function toJSON() { + GetProofsRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DocumentRequest; - })(); - - GetProofsRequest.IdentityRequest = (function() { - - /** - * Properties of an IdentityRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @interface IIdentityRequest - * @property {Uint8Array|null} [identityId] IdentityRequest identityId - * @property {org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type|null} [requestType] IdentityRequest requestType - */ - - /** - * Constructs a new IdentityRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @classdesc Represents an IdentityRequest. - * @implements IIdentityRequest - * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IIdentityRequest=} [properties] Properties to set - */ - function IdentityRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IdentityRequest identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @instance - */ - IdentityRequest.prototype.identityId = $util.newBuffer([]); - - /** - * IdentityRequest requestType. - * @member {org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} requestType - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @instance - */ - IdentityRequest.prototype.requestType = 0; - - /** - * Creates a new IdentityRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IIdentityRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} IdentityRequest instance - */ - IdentityRequest.create = function create(properties) { - return new IdentityRequest(properties); - }; + GetProofsRequestV0.DocumentRequest = (function() { + + /** + * Properties of a DocumentRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @interface IDocumentRequest + * @property {Uint8Array|null} [contractId] DocumentRequest contractId + * @property {string|null} [documentType] DocumentRequest documentType + * @property {boolean|null} [documentTypeKeepsHistory] DocumentRequest documentTypeKeepsHistory + * @property {Uint8Array|null} [documentId] DocumentRequest documentId + */ + + /** + * Constructs a new DocumentRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @classdesc Represents a DocumentRequest. + * @implements IDocumentRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest=} [properties] Properties to set + */ + function DocumentRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Encodes the specified IdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IIdentityRequest} message IdentityRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentityRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identityId); - if (message.requestType != null && Object.hasOwnProperty.call(message, "requestType")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.requestType); - return writer; - }; + /** + * DocumentRequest contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.contractId = $util.newBuffer([]); + + /** + * DocumentRequest documentType. + * @member {string} documentType + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.documentType = ""; + + /** + * DocumentRequest documentTypeKeepsHistory. + * @member {boolean} documentTypeKeepsHistory + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.documentTypeKeepsHistory = false; + + /** + * DocumentRequest documentId. + * @member {Uint8Array} documentId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + */ + DocumentRequest.prototype.documentId = $util.newBuffer([]); + + /** + * Creates a new DocumentRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest instance + */ + DocumentRequest.create = function create(properties) { + return new DocumentRequest(properties); + }; + + /** + * Encodes the specified DocumentRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DocumentRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); + if (message.documentTypeKeepsHistory != null && Object.hasOwnProperty.call(message, "documentTypeKeepsHistory")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.documentTypeKeepsHistory); + if (message.documentId != null && Object.hasOwnProperty.call(message, "documentId")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.documentId); + return writer; + }; + + /** + * Encodes the specified DocumentRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IDocumentRequest} message DocumentRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DocumentRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DocumentRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DocumentRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + case 2: + message.documentType = reader.string(); + break; + case 3: + message.documentTypeKeepsHistory = reader.bool(); + break; + case 4: + message.documentId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DocumentRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DocumentRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DocumentRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DocumentRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.contractId != null && message.hasOwnProperty("contractId")) + if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) + return "contractId: buffer expected"; + if (message.documentType != null && message.hasOwnProperty("documentType")) + if (!$util.isString(message.documentType)) + return "documentType: string expected"; + if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) + if (typeof message.documentTypeKeepsHistory !== "boolean") + return "documentTypeKeepsHistory: boolean expected"; + if (message.documentId != null && message.hasOwnProperty("documentId")) + if (!(message.documentId && typeof message.documentId.length === "number" || $util.isString(message.documentId))) + return "documentId: buffer expected"; + return null; + }; + + /** + * Creates a DocumentRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} DocumentRequest + */ + DocumentRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest(); + if (object.contractId != null) + if (typeof object.contractId === "string") + $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); + else if (object.contractId.length >= 0) + message.contractId = object.contractId; + if (object.documentType != null) + message.documentType = String(object.documentType); + if (object.documentTypeKeepsHistory != null) + message.documentTypeKeepsHistory = Boolean(object.documentTypeKeepsHistory); + if (object.documentId != null) + if (typeof object.documentId === "string") + $util.base64.decode(object.documentId, message.documentId = $util.newBuffer($util.base64.length(object.documentId)), 0); + else if (object.documentId.length >= 0) + message.documentId = object.documentId; + return message; + }; + + /** + * Creates a plain object from a DocumentRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message DocumentRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DocumentRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + object.documentType = ""; + object.documentTypeKeepsHistory = false; + if (options.bytes === String) + object.documentId = ""; + else { + object.documentId = []; + if (options.bytes !== Array) + object.documentId = $util.newBuffer(object.documentId); + } + } + if (message.contractId != null && message.hasOwnProperty("contractId")) + object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; + if (message.documentType != null && message.hasOwnProperty("documentType")) + object.documentType = message.documentType; + if (message.documentTypeKeepsHistory != null && message.hasOwnProperty("documentTypeKeepsHistory")) + object.documentTypeKeepsHistory = message.documentTypeKeepsHistory; + if (message.documentId != null && message.hasOwnProperty("documentId")) + object.documentId = options.bytes === String ? $util.base64.encode(message.documentId, 0, message.documentId.length) : options.bytes === Array ? Array.prototype.slice.call(message.documentId) : message.documentId; + return object; + }; + + /** + * Converts this DocumentRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest + * @instance + * @returns {Object.} JSON object + */ + DocumentRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DocumentRequest; + })(); - /** - * Encodes the specified IdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IIdentityRequest} message IdentityRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + GetProofsRequestV0.IdentityRequest = (function() { + + /** + * Properties of an IdentityRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @interface IIdentityRequest + * @property {Uint8Array|null} [identityId] IdentityRequest identityId + * @property {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type|null} [requestType] IdentityRequest requestType + */ + + /** + * Constructs a new IdentityRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @classdesc Represents an IdentityRequest. + * @implements IIdentityRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest=} [properties] Properties to set + */ + function IdentityRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Decodes an IdentityRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} IdentityRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentityRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * IdentityRequest identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @instance + */ + IdentityRequest.prototype.identityId = $util.newBuffer([]); + + /** + * IdentityRequest requestType. + * @member {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} requestType + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @instance + */ + IdentityRequest.prototype.requestType = 0; + + /** + * Creates a new IdentityRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest instance + */ + IdentityRequest.create = function create(properties) { + return new IdentityRequest(properties); + }; + + /** + * Encodes the specified IdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest} message IdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identityId); + if (message.requestType != null && Object.hasOwnProperty.call(message, "requestType")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.requestType); + return writer; + }; + + /** + * Encodes the specified IdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IIdentityRequest} message IdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentityRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identityId = reader.bytes(); + break; + case 2: + message.requestType = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IdentityRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identityId != null && message.hasOwnProperty("identityId")) + if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId))) + return "identityId: buffer expected"; + if (message.requestType != null && message.hasOwnProperty("requestType")) + switch (message.requestType) { + default: + return "requestType: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates an IdentityRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} IdentityRequest + */ + IdentityRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest(); + if (object.identityId != null) + if (typeof object.identityId === "string") + $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0); + else if (object.identityId.length >= 0) + message.identityId = object.identityId; + switch (object.requestType) { + case "FULL_IDENTITY": + case 0: + message.requestType = 0; + break; + case "BALANCE": case 1: - message.identityId = reader.bytes(); + message.requestType = 1; break; + case "KEYS": case 2: - message.requestType = reader.int32(); - break; - default: - reader.skipType(tag & 7); + message.requestType = 2; break; } + return message; + }; + + /** + * Creates a plain object from an IdentityRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message IdentityRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.identityId = ""; + else { + object.identityId = []; + if (options.bytes !== Array) + object.identityId = $util.newBuffer(object.identityId); + } + object.requestType = options.enums === String ? "FULL_IDENTITY" : 0; + } + if (message.identityId != null && message.hasOwnProperty("identityId")) + object.identityId = options.bytes === String ? $util.base64.encode(message.identityId, 0, message.identityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityId) : message.identityId; + if (message.requestType != null && message.hasOwnProperty("requestType")) + object.requestType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type[message.requestType] : message.requestType; + return object; + }; + + /** + * Converts this IdentityRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest + * @instance + * @returns {Object.} JSON object + */ + IdentityRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type + * @enum {number} + * @property {number} FULL_IDENTITY=0 FULL_IDENTITY value + * @property {number} BALANCE=1 BALANCE value + * @property {number} KEYS=2 KEYS value + */ + IdentityRequest.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FULL_IDENTITY"] = 0; + values[valuesById[1] = "BALANCE"] = 1; + values[valuesById[2] = "KEYS"] = 2; + return values; + })(); + + return IdentityRequest; + })(); + + GetProofsRequestV0.ContractRequest = (function() { + + /** + * Properties of a ContractRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @interface IContractRequest + * @property {Uint8Array|null} [contractId] ContractRequest contractId + */ + + /** + * Constructs a new ContractRequest. + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 + * @classdesc Represents a ContractRequest. + * @implements IContractRequest + * @constructor + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest=} [properties] Properties to set + */ + function ContractRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - /** - * Decodes an IdentityRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} IdentityRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentityRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * ContractRequest contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @instance + */ + ContractRequest.prototype.contractId = $util.newBuffer([]); + + /** + * Creates a new ContractRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest instance + */ + ContractRequest.create = function create(properties) { + return new ContractRequest(properties); + }; + + /** + * Encodes the specified ContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest} message ContractRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + return writer; + }; + + /** + * Encodes the specified ContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IContractRequest} message ContractRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.contractId != null && message.hasOwnProperty("contractId")) + if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) + return "contractId: buffer expected"; + return null; + }; + + /** + * Creates a ContractRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} ContractRequest + */ + ContractRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest(); + if (object.contractId != null) + if (typeof object.contractId === "string") + $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); + else if (object.contractId.length >= 0) + message.contractId = object.contractId; + return message; + }; + + /** + * Creates a plain object from a ContractRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @static + * @param {org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message ContractRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + if (message.contractId != null && message.hasOwnProperty("contractId")) + object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; + return object; + }; + + /** + * Converts this ContractRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest + * @instance + * @returns {Object.} JSON object + */ + ContractRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractRequest; + })(); + + return GetProofsRequestV0; + })(); + + return GetProofsRequest; + })(); + + v0.GetProofsResponse = (function() { + + /** + * Properties of a GetProofsResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetProofsResponse + * @property {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0|null} [v0] GetProofsResponse v0 + */ + + /** + * Constructs a new GetProofsResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetProofsResponse. + * @implements IGetProofsResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set + */ + function GetProofsResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetProofsResponse v0. + * @member {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @instance + */ + GetProofsResponse.prototype.v0 = null; - /** - * Verifies an IdentityRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IdentityRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.identityId != null && message.hasOwnProperty("identityId")) - if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId))) - return "identityId: buffer expected"; - if (message.requestType != null && message.hasOwnProperty("requestType")) - switch (message.requestType) { - default: - return "requestType: enum value expected"; - case 0: - case 1: - case 2: - break; - } - return null; - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Creates an IdentityRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} IdentityRequest - */ - IdentityRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest(); - if (object.identityId != null) - if (typeof object.identityId === "string") - $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0); - else if (object.identityId.length >= 0) - message.identityId = object.identityId; - switch (object.requestType) { - case "FULL_IDENTITY": - case 0: - message.requestType = 0; - break; - case "BALANCE": + /** + * GetProofsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @instance + */ + Object.defineProperty(GetProofsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetProofsResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse instance + */ + GetProofsResponse.create = function create(properties) { + return new GetProofsResponse(properties); + }; + + /** + * Encodes the specified GetProofsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProofsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetProofsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProofsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProofsResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProofsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { case 1: - message.requestType = 1; + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.decode(reader, reader.uint32()); break; - case "KEYS": - case 2: - message.requestType = 2; + default: + reader.skipType(tag & 7); break; } - return message; - }; + } + return message; + }; - /** - * Creates a plain object from an IdentityRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} message IdentityRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IdentityRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.identityId = ""; - else { - object.identityId = []; - if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); - } - object.requestType = options.enums === String ? "FULL_IDENTITY" : 0; + /** + * Decodes a GetProofsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProofsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProofsResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProofsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify(message.v0); + if (error) + return "v0." + error; } - if (message.identityId != null && message.hasOwnProperty("identityId")) - object.identityId = options.bytes === String ? $util.base64.encode(message.identityId, 0, message.identityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityId) : message.identityId; - if (message.requestType != null && message.hasOwnProperty("requestType")) - object.requestType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type[message.requestType] : message.requestType; - return object; - }; + } + return null; + }; - /** - * Converts this IdentityRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest - * @instance - * @returns {Object.} JSON object - */ - IdentityRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a GetProofsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + */ + GetProofsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.fromObject(object.v0); + } + return message; + }; - /** - * Type enum. - * @name org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type - * @enum {number} - * @property {number} FULL_IDENTITY=0 FULL_IDENTITY value - * @property {number} BALANCE=1 BALANCE value - * @property {number} KEYS=2 KEYS value - */ - IdentityRequest.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FULL_IDENTITY"] = 0; - values[valuesById[1] = "BALANCE"] = 1; - values[valuesById[2] = "KEYS"] = 2; - return values; - })(); + /** + * Creates a plain object from a GetProofsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @static + * @param {org.dash.platform.dapi.v0.GetProofsResponse} message GetProofsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProofsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - return IdentityRequest; - })(); + /** + * Converts this GetProofsResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @instance + * @returns {Object.} JSON object + */ + GetProofsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetProofsRequest.ContractRequest = (function() { + GetProofsResponse.GetProofsResponseV0 = (function() { /** - * Properties of a ContractRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @interface IContractRequest - * @property {Uint8Array|null} [contractId] ContractRequest contractId + * Properties of a GetProofsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @interface IGetProofsResponseV0 + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProofsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProofsResponseV0 metadata */ /** - * Constructs a new ContractRequest. - * @memberof org.dash.platform.dapi.v0.GetProofsRequest - * @classdesc Represents a ContractRequest. - * @implements IContractRequest + * Constructs a new GetProofsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @classdesc Represents a GetProofsResponseV0. + * @implements IGetProofsResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IContractRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0=} [properties] Properties to set */ - function ContractRequest(properties) { + function GetProofsResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -8419,75 +10150,88 @@ $root.org = (function() { } /** - * ContractRequest contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * GetProofsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @instance + */ + GetProofsResponseV0.prototype.proof = null; + + /** + * GetProofsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @instance */ - ContractRequest.prototype.contractId = $util.newBuffer([]); + GetProofsResponseV0.prototype.metadata = null; /** - * Creates a new ContractRequest instance using the specified properties. + * Creates a new GetProofsResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IContractRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} ContractRequest instance + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 instance */ - ContractRequest.create = function create(properties) { - return new ContractRequest(properties); + GetProofsResponseV0.create = function create(properties) { + return new GetProofsResponseV0(properties); }; /** - * Encodes the specified ContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.verify|verify} messages. + * Encodes the specified GetProofsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IContractRequest} message ContractRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0} message GetProofsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContractRequest.encode = function encode(message, writer) { + GetProofsResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.verify|verify} messages. + * Encodes the specified GetProofsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.IContractRequest} message ContractRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProofsResponse.IGetProofsResponseV0} message GetProofsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContractRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProofsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContractRequest message from the specified reader or buffer. + * Decodes a GetProofsResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} ContractRequest + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContractRequest.decode = function decode(reader, length) { + GetProofsResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.contractId = reader.bytes(); + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 2: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -8498,120 +10242,129 @@ $root.org = (function() { }; /** - * Decodes a ContractRequest message from the specified reader or buffer, length delimited. + * Decodes a GetProofsResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} ContractRequest + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContractRequest.decodeDelimited = function decodeDelimited(reader) { + GetProofsResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContractRequest message. + * Verifies a GetProofsResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContractRequest.verify = function verify(message) { + GetProofsResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.contractId != null && message.hasOwnProperty("contractId")) - if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) - return "contractId: buffer expected"; + if (message.proof != null && message.hasOwnProperty("proof")) { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } return null; }; /** - * Creates a ContractRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetProofsResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} ContractRequest + * @returns {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} GetProofsResponseV0 */ - ContractRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest) + GetProofsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest(); - if (object.contractId != null) - if (typeof object.contractId === "string") - $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); - else if (object.contractId.length >= 0) - message.contractId = object.contractId; + var message = new $root.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0(); + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } return message; }; /** - * Creates a plain object from a ContractRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetProofsResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} message ContractRequest + * @param {org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message GetProofsResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContractRequest.toObject = function toObject(message, options) { + GetProofsResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - if (options.bytes === String) - object.contractId = ""; - else { - object.contractId = []; - if (options.bytes !== Array) - object.contractId = $util.newBuffer(object.contractId); - } - if (message.contractId != null && message.hasOwnProperty("contractId")) - object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; + if (options.defaults) { + object.proof = null; + object.metadata = null; + } + if (message.proof != null && message.hasOwnProperty("proof")) + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this ContractRequest to JSON. + * Converts this GetProofsResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 * @instance * @returns {Object.} JSON object */ - ContractRequest.prototype.toJSON = function toJSON() { + GetProofsResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContractRequest; + return GetProofsResponseV0; })(); - return GetProofsRequest; + return GetProofsResponse; })(); - v0.GetProofsResponse = (function() { + v0.GetDataContractRequest = (function() { /** - * Properties of a GetProofsResponse. + * Properties of a GetDataContractRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProofsResponse - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProofsResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProofsResponse metadata + * @interface IGetDataContractRequest + * @property {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0|null} [v0] GetDataContractRequest v0 */ /** - * Constructs a new GetProofsResponse. + * Constructs a new GetDataContractRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProofsResponse. - * @implements IGetProofsResponse + * @classdesc Represents a GetDataContractRequest. + * @implements IGetDataContractRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set */ - function GetProofsResponse(properties) { + function GetDataContractRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -8619,88 +10372,89 @@ $root.org = (function() { } /** - * GetProofsResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * GetDataContractRequest v0. + * @member {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @instance */ - GetProofsResponse.prototype.proof = null; + GetDataContractRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetProofsResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * GetDataContractRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @instance */ - GetProofsResponse.prototype.metadata = null; + Object.defineProperty(GetDataContractRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetProofsResponse instance using the specified properties. + * Creates a new GetDataContractRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse instance + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest instance */ - GetProofsResponse.create = function create(properties) { - return new GetProofsResponse(properties); + GetDataContractRequest.create = function create(properties) { + return new GetDataContractRequest(properties); }; /** - * Encodes the specified GetProofsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * Encodes the specified GetDataContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsResponse.encode = function encode(message, writer) { + GetDataContractRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetProofsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProofsResponse.verify|verify} messages. + * Encodes the specified GetDataContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProofsResponse} message GetProofsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProofsResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetDataContractRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProofsResponse message from the specified reader or buffer. + * Decodes a GetDataContractRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsResponse.decode = function decode(reader, length) { + GetDataContractRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 2: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -8711,127 +10465,336 @@ $root.org = (function() { }; /** - * Decodes a GetProofsResponse message from the specified reader or buffer, length delimited. + * Decodes a GetDataContractRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProofsResponse.decodeDelimited = function decodeDelimited(reader) { + GetDataContractRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProofsResponse message. + * Verifies a GetDataContractRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProofsResponse.verify = function verify(message) { + GetDataContractRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.proof != null && message.hasOwnProperty("proof")) { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } } return null; }; /** - * Creates a GetProofsResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetDataContractRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProofsResponse} GetProofsResponse + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest */ - GetProofsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProofsResponse) + GetDataContractRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProofsResponse(); - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProofsResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetProofsResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetDataContractRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @static - * @param {org.dash.platform.dapi.v0.GetProofsResponse} message GetProofsResponse + * @param {org.dash.platform.dapi.v0.GetDataContractRequest} message GetDataContractRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProofsResponse.toObject = function toObject(message, options) { + GetDataContractRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.proof = null; - object.metadata = null; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetProofsResponse to JSON. + * Converts this GetDataContractRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProofsResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest * @instance * @returns {Object.} JSON object */ - GetProofsResponse.prototype.toJSON = function toJSON() { + GetDataContractRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProofsResponse; + GetDataContractRequest.GetDataContractRequestV0 = (function() { + + /** + * Properties of a GetDataContractRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @interface IGetDataContractRequestV0 + * @property {Uint8Array|null} [id] GetDataContractRequestV0 id + * @property {boolean|null} [prove] GetDataContractRequestV0 prove + */ + + /** + * Constructs a new GetDataContractRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @classdesc Represents a GetDataContractRequestV0. + * @implements IGetDataContractRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0=} [properties] Properties to set + */ + function GetDataContractRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @instance + */ + GetDataContractRequestV0.prototype.id = $util.newBuffer([]); + + /** + * GetDataContractRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @instance + */ + GetDataContractRequestV0.prototype.prove = false; + + /** + * Creates a new GetDataContractRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 instance + */ + GetDataContractRequestV0.create = function create(properties) { + return new GetDataContractRequestV0(properties); + }; + + /** + * Encodes the specified GetDataContractRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0} message GetDataContractRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetDataContractRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.IGetDataContractRequestV0} message GetDataContractRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetDataContractRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} GetDataContractRequestV0 + */ + GetDataContractRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0(); + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length >= 0) + message.id = object.id; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetDataContractRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message GetDataContractRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetDataContractRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractRequestV0; + })(); + + return GetDataContractRequest; })(); - v0.GetDataContractRequest = (function() { + v0.GetDataContractResponse = (function() { /** - * Properties of a GetDataContractRequest. + * Properties of a GetDataContractResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractRequest - * @property {Uint8Array|null} [id] GetDataContractRequest id - * @property {boolean|null} [prove] GetDataContractRequest prove + * @interface IGetDataContractResponse + * @property {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0|null} [v0] GetDataContractResponse v0 */ /** - * Constructs a new GetDataContractRequest. + * Constructs a new GetDataContractResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractRequest. - * @implements IGetDataContractRequest + * @classdesc Represents a GetDataContractResponse. + * @implements IGetDataContractResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set */ - function GetDataContractRequest(properties) { + function GetDataContractResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -8839,88 +10802,89 @@ $root.org = (function() { } /** - * GetDataContractRequest id. - * @member {Uint8Array} id - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * GetDataContractResponse v0. + * @member {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @instance */ - GetDataContractRequest.prototype.id = $util.newBuffer([]); + GetDataContractResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetDataContractRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * GetDataContractResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @instance */ - GetDataContractRequest.prototype.prove = false; + Object.defineProperty(GetDataContractResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetDataContractRequest instance using the specified properties. + * Creates a new GetDataContractResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest instance + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse instance */ - GetDataContractRequest.create = function create(properties) { - return new GetDataContractRequest(properties); + GetDataContractResponse.create = function create(properties) { + return new GetDataContractResponse(properties); }; /** - * Encodes the specified GetDataContractRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. + * Encodes the specified GetDataContractResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractRequest.encode = function encode(message, writer) { + GetDataContractResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractRequest.verify|verify} messages. + * Encodes the specified GetDataContractResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractRequest} message GetDataContractRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetDataContractResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractRequest message from the specified reader or buffer. + * Decodes a GetDataContractResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractRequest.decode = function decode(reader, length) { + GetDataContractResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.id = reader.bytes(); - break; - case 2: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -8931,127 +10895,387 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractRequest message from the specified reader or buffer, length delimited. + * Decodes a GetDataContractResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractRequest.decodeDelimited = function decodeDelimited(reader) { + GetDataContractResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractRequest message. + * Verifies a GetDataContractResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractRequest.verify = function verify(message) { + GetDataContractResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) - return "id: buffer expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } return null; }; /** - * Creates a GetDataContractRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetDataContractResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractRequest} GetDataContractRequest + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse */ - GetDataContractRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractRequest) + GetDataContractResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractRequest(); - if (object.id != null) - if (typeof object.id === "string") - $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); - else if (object.id.length >= 0) - message.id = object.id; - if (object.prove != null) - message.prove = Boolean(object.prove); + var message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.fromObject(object.v0); + } return message; }; /** - * Creates a plain object from a GetDataContractRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetDataContractResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse * @static - * @param {org.dash.platform.dapi.v0.GetDataContractRequest} message GetDataContractRequest + * @param {org.dash.platform.dapi.v0.GetDataContractResponse} message GetDataContractResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractRequest.toObject = function toObject(message, options) { + GetDataContractResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.id = ""; - else { - object.id = []; - if (options.bytes !== Array) - object.id = $util.newBuffer(object.id); - } - object.prove = false; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } - if (message.id != null && message.hasOwnProperty("id")) - object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; return object; }; - /** - * Converts this GetDataContractRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractRequest - * @instance - * @returns {Object.} JSON object - */ - GetDataContractRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this GetDataContractResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @instance + * @returns {Object.} JSON object + */ + GetDataContractResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractResponse.GetDataContractResponseV0 = (function() { + + /** + * Properties of a GetDataContractResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @interface IGetDataContractResponseV0 + * @property {Uint8Array|null} [dataContract] GetDataContractResponseV0 dataContract + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractResponseV0 metadata + */ + + /** + * Constructs a new GetDataContractResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @classdesc Represents a GetDataContractResponseV0. + * @implements IGetDataContractResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0=} [properties] Properties to set + */ + function GetDataContractResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractResponseV0 dataContract. + * @member {Uint8Array} dataContract + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + GetDataContractResponseV0.prototype.dataContract = $util.newBuffer([]); + + /** + * GetDataContractResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + GetDataContractResponseV0.prototype.proof = null; + + /** + * GetDataContractResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + GetDataContractResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractResponseV0 result. + * @member {"dataContract"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + */ + Object.defineProperty(GetDataContractResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["dataContract", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 instance + */ + GetDataContractResponseV0.create = function create(properties) { + return new GetDataContractResponseV0(properties); + }; + + /** + * Encodes the specified GetDataContractResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0} message GetDataContractResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContract != null && Object.hasOwnProperty.call(message, "dataContract")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContract); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.IGetDataContractResponseV0} message GetDataContractResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dataContract = reader.bytes(); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) { + properties.result = 1; + if (!(message.dataContract && typeof message.dataContract.length === "number" || $util.isString(message.dataContract))) + return "dataContract: buffer expected"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetDataContractResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} GetDataContractResponseV0 + */ + GetDataContractResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0(); + if (object.dataContract != null) + if (typeof object.dataContract === "string") + $util.base64.decode(object.dataContract, message.dataContract = $util.newBuffer($util.base64.length(object.dataContract)), 0); + else if (object.dataContract.length >= 0) + message.dataContract = object.dataContract; + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message GetDataContractResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) { + object.dataContract = options.bytes === String ? $util.base64.encode(message.dataContract, 0, message.dataContract.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContract) : message.dataContract; + if (options.oneofs) + object.result = "dataContract"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetDataContractResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractResponseV0; + })(); - return GetDataContractRequest; + return GetDataContractResponse; })(); - v0.GetDataContractResponse = (function() { + v0.GetDataContractsRequest = (function() { /** - * Properties of a GetDataContractResponse. + * Properties of a GetDataContractsRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractResponse - * @property {Uint8Array|null} [dataContract] GetDataContractResponse dataContract - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractResponse metadata + * @interface IGetDataContractsRequest + * @property {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0|null} [v0] GetDataContractsRequest v0 */ /** - * Constructs a new GetDataContractResponse. + * Constructs a new GetDataContractsRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractResponse. - * @implements IGetDataContractResponse + * @classdesc Represents a GetDataContractsRequest. + * @implements IGetDataContractsRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set */ - function GetDataContractResponse(properties) { + function GetDataContractsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -9059,115 +11283,89 @@ $root.org = (function() { } /** - * GetDataContractResponse dataContract. - * @member {Uint8Array} dataContract - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse - * @instance - */ - GetDataContractResponse.prototype.dataContract = $util.newBuffer([]); - - /** - * GetDataContractResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse - * @instance - */ - GetDataContractResponse.prototype.proof = null; - - /** - * GetDataContractResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * GetDataContractsRequest v0. + * @member {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @instance */ - GetDataContractResponse.prototype.metadata = null; + GetDataContractsRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractResponse result. - * @member {"dataContract"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * GetDataContractsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @instance */ - Object.defineProperty(GetDataContractResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["dataContract", "proof"]), + Object.defineProperty(GetDataContractsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractResponse instance using the specified properties. + * Creates a new GetDataContractsRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse instance + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest instance */ - GetDataContractResponse.create = function create(properties) { - return new GetDataContractResponse(properties); + GetDataContractsRequest.create = function create(properties) { + return new GetDataContractsRequest(properties); }; /** - * Encodes the specified GetDataContractResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. + * Encodes the specified GetDataContractsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractResponse.encode = function encode(message, writer) { + GetDataContractsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContract != null && Object.hasOwnProperty.call(message, "dataContract")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContract); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractResponse.verify|verify} messages. + * Encodes the specified GetDataContractsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractResponse} message GetDataContractResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetDataContractsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractResponse message from the specified reader or buffer. + * Decodes a GetDataContractsRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractResponse.decode = function decode(reader, length) { + GetDataContractsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dataContract = reader.bytes(); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -9178,150 +11376,346 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractResponse message from the specified reader or buffer, length delimited. + * Decodes a GetDataContractsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractResponse.decodeDelimited = function decodeDelimited(reader) { + GetDataContractsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractResponse message. + * Verifies a GetDataContractsRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractResponse.verify = function verify(message) { + GetDataContractsRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.dataContract != null && message.hasOwnProperty("dataContract")) { - properties.result = 1; - if (!(message.dataContract && typeof message.dataContract.length === "number" || $util.isString(message.dataContract))) - return "dataContract: buffer expected"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; - /** - * Creates a GetDataContractResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractResponse} GetDataContractResponse - */ - GetDataContractResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractResponse) + /** + * Creates a GetDataContractsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + */ + GetDataContractsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest} message GetDataContractsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractsRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @instance + * @returns {Object.} JSON object + */ + GetDataContractsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractsRequest.GetDataContractsRequestV0 = (function() { + + /** + * Properties of a GetDataContractsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @interface IGetDataContractsRequestV0 + * @property {Array.|null} [ids] GetDataContractsRequestV0 ids + * @property {boolean|null} [prove] GetDataContractsRequestV0 prove + */ + + /** + * Constructs a new GetDataContractsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @classdesc Represents a GetDataContractsRequestV0. + * @implements IGetDataContractsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0=} [properties] Properties to set + */ + function GetDataContractsRequestV0(properties) { + this.ids = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractsRequestV0 ids. + * @member {Array.} ids + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @instance + */ + GetDataContractsRequestV0.prototype.ids = $util.emptyArray; + + /** + * GetDataContractsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @instance + */ + GetDataContractsRequestV0.prototype.prove = false; + + /** + * Creates a new GetDataContractsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 instance + */ + GetDataContractsRequestV0.create = function create(properties) { + return new GetDataContractsRequestV0(properties); + }; + + /** + * Encodes the specified GetDataContractsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0} message GetDataContractsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ids != null && message.ids.length) + for (var i = 0; i < message.ids.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ids[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetDataContractsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.IGetDataContractsRequestV0} message GetDataContractsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.ids && message.ids.length)) + message.ids = []; + message.ids.push(reader.bytes()); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ids != null && message.hasOwnProperty("ids")) { + if (!Array.isArray(message.ids)) + return "ids: array expected"; + for (var i = 0; i < message.ids.length; ++i) + if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) + return "ids: buffer[] expected"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetDataContractsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} GetDataContractsRequestV0 + */ + GetDataContractsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0(); + if (object.ids) { + if (!Array.isArray(object.ids)) + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.ids: array expected"); + message.ids = []; + for (var i = 0; i < object.ids.length; ++i) + if (typeof object.ids[i] === "string") + $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); + else if (object.ids[i].length >= 0) + message.ids[i] = object.ids[i]; + } + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetDataContractsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message GetDataContractsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.ids = []; + if (options.defaults) + object.prove = false; + if (message.ids && message.ids.length) { + object.ids = []; + for (var j = 0; j < message.ids.length; ++j) + object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; + } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractResponse(); - if (object.dataContract != null) - if (typeof object.dataContract === "string") - $util.base64.decode(object.dataContract, message.dataContract = $util.newBuffer($util.base64.length(object.dataContract)), 0); - else if (object.dataContract.length >= 0) - message.dataContract = object.dataContract; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; + }; - /** - * Creates a plain object from a GetDataContractResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractResponse} message GetDataContractResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetDataContractResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.dataContract != null && message.hasOwnProperty("dataContract")) { - object.dataContract = options.bytes === String ? $util.base64.encode(message.dataContract, 0, message.dataContract.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContract) : message.dataContract; - if (options.oneofs) - object.result = "dataContract"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + /** + * Converts this GetDataContractsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetDataContractResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractResponse - * @instance - * @returns {Object.} JSON object - */ - GetDataContractResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return GetDataContractsRequestV0; + })(); - return GetDataContractResponse; + return GetDataContractsRequest; })(); - v0.GetDataContractsRequest = (function() { + v0.GetDataContractsResponse = (function() { /** - * Properties of a GetDataContractsRequest. + * Properties of a GetDataContractsResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractsRequest - * @property {Array.|null} [ids] GetDataContractsRequest ids - * @property {boolean|null} [prove] GetDataContractsRequest prove + * @interface IGetDataContractsResponse + * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0|null} [v0] GetDataContractsResponse v0 */ /** - * Constructs a new GetDataContractsRequest. + * Constructs a new GetDataContractsResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractsRequest. - * @implements IGetDataContractsRequest + * @classdesc Represents a GetDataContractsResponse. + * @implements IGetDataContractsResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set */ - function GetDataContractsRequest(properties) { - this.ids = []; + function GetDataContractsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -9329,91 +11723,89 @@ $root.org = (function() { } /** - * GetDataContractsRequest ids. - * @member {Array.} ids - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * GetDataContractsResponse v0. + * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @instance */ - GetDataContractsRequest.prototype.ids = $util.emptyArray; + GetDataContractsResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetDataContractsRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * GetDataContractsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @instance */ - GetDataContractsRequest.prototype.prove = false; + Object.defineProperty(GetDataContractsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetDataContractsRequest instance using the specified properties. + * Creates a new GetDataContractsResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest instance + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse instance */ - GetDataContractsRequest.create = function create(properties) { - return new GetDataContractsRequest(properties); + GetDataContractsResponse.create = function create(properties) { + return new GetDataContractsResponse(properties); }; /** - * Encodes the specified GetDataContractsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. + * Encodes the specified GetDataContractsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsRequest.encode = function encode(message, writer) { + GetDataContractsResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.ids != null && message.ids.length) - for (var i = 0; i < message.ids.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ids[i]); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsRequest.verify|verify} messages. + * Encodes the specified GetDataContractsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsRequest} message GetDataContractsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetDataContractsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractsRequest message from the specified reader or buffer. + * Decodes a GetDataContractsResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsRequest.decode = function decode(reader, length) { + GetDataContractsResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.ids && message.ids.length)) - message.ids = []; - message.ids.push(reader.bytes()); - break; - case 2: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -9424,401 +11816,548 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetDataContractsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractsRequest.decodeDelimited = function decodeDelimited(reader) { + GetDataContractsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractsRequest message. + * Verifies a GetDataContractsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractsRequest.verify = function verify(message) { + GetDataContractsResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.ids != null && message.hasOwnProperty("ids")) { - if (!Array.isArray(message.ids)) - return "ids: array expected"; - for (var i = 0; i < message.ids.length; ++i) - if (!(message.ids[i] && typeof message.ids[i].length === "number" || $util.isString(message.ids[i]))) - return "ids: buffer[] expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; return null; }; /** - * Creates a GetDataContractsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetDataContractsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsRequest} GetDataContractsRequest + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse */ - GetDataContractsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsRequest) + GetDataContractsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsRequest(); - if (object.ids) { - if (!Array.isArray(object.ids)) - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsRequest.ids: array expected"); - message.ids = []; - for (var i = 0; i < object.ids.length; ++i) - if (typeof object.ids[i] === "string") - $util.base64.decode(object.ids[i], message.ids[i] = $util.newBuffer($util.base64.length(object.ids[i])), 0); - else if (object.ids[i].length >= 0) - message.ids[i] = object.ids[i]; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.fromObject(object.v0); } - if (object.prove != null) - message.prove = Boolean(object.prove); return message; }; - /** - * Creates a plain object from a GetDataContractsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsRequest} message GetDataContractsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetDataContractsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.ids = []; - if (options.defaults) - object.prove = false; - if (message.ids && message.ids.length) { - object.ids = []; - for (var j = 0; j < message.ids.length; ++j) - object.ids[j] = options.bytes === String ? $util.base64.encode(message.ids[j], 0, message.ids[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.ids[j]) : message.ids[j]; - } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + /** + * Creates a plain object from a GetDataContractsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse} message GetDataContractsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractsResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @instance + * @returns {Object.} JSON object + */ + GetDataContractsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDataContractsResponse.DataContractEntry = (function() { + + /** + * Properties of a DataContractEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @interface IDataContractEntry + * @property {Uint8Array|null} [identifier] DataContractEntry identifier + * @property {google.protobuf.IBytesValue|null} [dataContract] DataContractEntry dataContract + */ + + /** + * Constructs a new DataContractEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @classdesc Represents a DataContractEntry. + * @implements IDataContractEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set + */ + function DataContractEntry(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataContractEntry identifier. + * @member {Uint8Array} identifier + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @instance + */ + DataContractEntry.prototype.identifier = $util.newBuffer([]); + + /** + * DataContractEntry dataContract. + * @member {google.protobuf.IBytesValue|null|undefined} dataContract + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @instance + */ + DataContractEntry.prototype.dataContract = null; + + /** + * Creates a new DataContractEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry instance + */ + DataContractEntry.create = function create(properties) { + return new DataContractEntry(properties); + }; + + /** + * Encodes the specified DataContractEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identifier != null && Object.hasOwnProperty.call(message, "identifier")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identifier); + if (message.dataContract != null && Object.hasOwnProperty.call(message, "dataContract")) + $root.google.protobuf.BytesValue.encode(message.dataContract, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DataContractEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Converts this GetDataContractsRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsRequest - * @instance - * @returns {Object.} JSON object - */ - GetDataContractsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Decodes a DataContractEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractEntry.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identifier = reader.bytes(); + break; + case 2: + message.dataContract = $root.google.protobuf.BytesValue.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - return GetDataContractsRequest; - })(); + /** + * Decodes a DataContractEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - v0.GetDataContractsResponse = (function() { + /** + * Verifies a DataContractEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContractEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identifier != null && message.hasOwnProperty("identifier")) + if (!(message.identifier && typeof message.identifier.length === "number" || $util.isString(message.identifier))) + return "identifier: buffer expected"; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) { + var error = $root.google.protobuf.BytesValue.verify(message.dataContract); + if (error) + return "dataContract." + error; + } + return null; + }; - /** - * Properties of a GetDataContractsResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractsResponse - * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null} [dataContracts] GetDataContractsResponse dataContracts - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractsResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractsResponse metadata - */ + /** + * Creates a DataContractEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + */ + DataContractEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); + if (object.identifier != null) + if (typeof object.identifier === "string") + $util.base64.decode(object.identifier, message.identifier = $util.newBuffer($util.base64.length(object.identifier)), 0); + else if (object.identifier.length >= 0) + message.identifier = object.identifier; + if (object.dataContract != null) { + if (typeof object.dataContract !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.dataContract: object expected"); + message.dataContract = $root.google.protobuf.BytesValue.fromObject(object.dataContract); + } + return message; + }; - /** - * Constructs a new GetDataContractsResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractsResponse. - * @implements IGetDataContractsResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set - */ - function GetDataContractsResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Creates a plain object from a DataContractEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message DataContractEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContractEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.identifier = ""; + else { + object.identifier = []; + if (options.bytes !== Array) + object.identifier = $util.newBuffer(object.identifier); + } + object.dataContract = null; + } + if (message.identifier != null && message.hasOwnProperty("identifier")) + object.identifier = options.bytes === String ? $util.base64.encode(message.identifier, 0, message.identifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.identifier) : message.identifier; + if (message.dataContract != null && message.hasOwnProperty("dataContract")) + object.dataContract = $root.google.protobuf.BytesValue.toObject(message.dataContract, options); + return object; + }; - /** - * GetDataContractsResponse dataContracts. - * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null|undefined} dataContracts - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @instance - */ - GetDataContractsResponse.prototype.dataContracts = null; + /** + * Converts this DataContractEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @instance + * @returns {Object.} JSON object + */ + DataContractEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * GetDataContractsResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @instance - */ - GetDataContractsResponse.prototype.proof = null; + return DataContractEntry; + })(); - /** - * GetDataContractsResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @instance - */ - GetDataContractsResponse.prototype.metadata = null; + GetDataContractsResponse.DataContracts = (function() { - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Properties of a DataContracts. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @interface IDataContracts + * @property {Array.|null} [dataContractEntries] DataContracts dataContractEntries + */ - /** - * GetDataContractsResponse result. - * @member {"dataContracts"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @instance - */ - Object.defineProperty(GetDataContractsResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["dataContracts", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Constructs a new DataContracts. + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse + * @classdesc Represents a DataContracts. + * @implements IDataContracts + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set + */ + function DataContracts(properties) { + this.dataContractEntries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Creates a new GetDataContractsResponse instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse instance - */ - GetDataContractsResponse.create = function create(properties) { - return new GetDataContractsResponse(properties); - }; + /** + * DataContracts dataContractEntries. + * @member {Array.} dataContractEntries + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @instance + */ + DataContracts.prototype.dataContractEntries = $util.emptyArray; - /** - * Encodes the specified GetDataContractsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetDataContractsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.dataContracts != null && Object.hasOwnProperty.call(message, "dataContracts")) - $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.encode(message.dataContracts, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; + /** + * Creates a new DataContracts instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts instance + */ + DataContracts.create = function create(properties) { + return new DataContracts(properties); + }; + + /** + * Encodes the specified DataContracts message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContracts.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContractEntries != null && message.dataContractEntries.length) + for (var i = 0; i < message.dataContractEntries.length; ++i) + $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Encodes the specified GetDataContractsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractsResponse} message GetDataContractsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetDataContractsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified DataContracts message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContracts.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a GetDataContractsResponse message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetDataContractsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a DataContracts message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContracts.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.dataContractEntries && message.dataContractEntries.length)) + message.dataContractEntries = []; + message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a GetDataContractsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetDataContractsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a DataContracts message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContracts.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a GetDataContractsResponse message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetDataContractsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify(message.dataContracts); - if (error) - return "dataContracts." + error; + /** + * Verifies a DataContracts message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContracts.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { + if (!Array.isArray(message.dataContractEntries)) + return "dataContractEntries: array expected"; + for (var i = 0; i < message.dataContractEntries.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify(message.dataContractEntries[i]); + if (error) + return "dataContractEntries." + error; + } } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; + return null; + }; + + /** + * Creates a DataContracts message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + */ + DataContracts.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); + if (object.dataContractEntries) { + if (!Array.isArray(object.dataContractEntries)) + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: array expected"); + message.dataContractEntries = []; + for (var i = 0; i < object.dataContractEntries.length; ++i) { + if (typeof object.dataContractEntries[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: object expected"); + message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.fromObject(object.dataContractEntries[i]); + } } - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } - return null; - }; + return message; + }; - /** - * Creates a GetDataContractsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse} GetDataContractsResponse - */ - GetDataContractsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse) + /** + * Creates a plain object from a DataContracts message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message DataContracts + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContracts.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.dataContractEntries = []; + if (message.dataContractEntries && message.dataContractEntries.length) { + object.dataContractEntries = []; + for (var j = 0; j < message.dataContractEntries.length; ++j) + object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(message.dataContractEntries[j], options); + } return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse(); - if (object.dataContracts != null) { - if (typeof object.dataContracts !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.dataContracts: object expected"); - message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.fromObject(object.dataContracts); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; - - /** - * Creates a plain object from a GetDataContractsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse} message GetDataContractsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetDataContractsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { - object.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(message.dataContracts, options); - if (options.oneofs) - object.result = "dataContracts"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + }; - /** - * Converts this GetDataContractsResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @instance - * @returns {Object.} JSON object - */ - GetDataContractsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this DataContracts to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @instance + * @returns {Object.} JSON object + */ + DataContracts.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetDataContractsResponse.DataContractValue = (function() { + return DataContracts; + })(); + + GetDataContractsResponse.GetDataContractsResponseV0 = (function() { /** - * Properties of a DataContractValue. + * Properties of a GetDataContractsResponseV0. * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @interface IDataContractValue - * @property {Uint8Array|null} [value] DataContractValue value + * @interface IGetDataContractsResponseV0 + * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null} [dataContracts] GetDataContractsResponseV0 dataContracts + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractsResponseV0 metadata */ /** - * Constructs a new DataContractValue. + * Constructs a new GetDataContractsResponseV0. * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @classdesc Represents a DataContractValue. - * @implements IDataContractValue + * @classdesc Represents a GetDataContractsResponseV0. + * @implements IGetDataContractsResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractValue=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0=} [properties] Properties to set */ - function DataContractValue(properties) { + function GetDataContractsResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -9826,75 +12365,115 @@ $root.org = (function() { } /** - * DataContractValue value. - * @member {Uint8Array} value - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * GetDataContractsResponseV0 dataContracts. + * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts|null|undefined} dataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + */ + GetDataContractsResponseV0.prototype.dataContracts = null; + + /** + * GetDataContractsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + */ + GetDataContractsResponseV0.prototype.proof = null; + + /** + * GetDataContractsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @instance */ - DataContractValue.prototype.value = $util.newBuffer([]); + GetDataContractsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractsResponseV0 result. + * @member {"dataContracts"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 + * @instance + */ + Object.defineProperty(GetDataContractsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["dataContracts", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new DataContractValue instance using the specified properties. + * Creates a new GetDataContractsResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractValue=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} DataContractValue instance + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 instance */ - DataContractValue.create = function create(properties) { - return new DataContractValue(properties); + GetDataContractsResponseV0.create = function create(properties) { + return new GetDataContractsResponseV0(properties); }; /** - * Encodes the specified DataContractValue message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.verify|verify} messages. + * Encodes the specified GetDataContractsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractValue} message DataContractValue message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0} message GetDataContractsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractValue.encode = function encode(message, writer) { + GetDataContractsResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); + if (message.dataContracts != null && Object.hasOwnProperty.call(message, "dataContracts")) + $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.encode(message.dataContracts, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified DataContractValue message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.verify|verify} messages. + * Encodes the specified GetDataContractsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractValue} message DataContractValue message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IGetDataContractsResponseV0} message GetDataContractsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractValue.encodeDelimited = function encodeDelimited(message, writer) { + GetDataContractsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DataContractValue message from the specified reader or buffer. + * Decodes a GetDataContractsResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} DataContractValue + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractValue.decode = function decode(reader, length) { + GetDataContractsResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.value = reader.bytes(); + message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -9905,117 +12484,366 @@ $root.org = (function() { }; /** - * Decodes a DataContractValue message from the specified reader or buffer, length delimited. + * Decodes a GetDataContractsResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} DataContractValue + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractValue.decodeDelimited = function decodeDelimited(reader) { + GetDataContractsResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DataContractValue message. + * Verifies a GetDataContractsResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataContractValue.verify = function verify(message) { + GetDataContractsResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; + var properties = {}; + if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify(message.dataContracts); + if (error) + return "dataContracts." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } return null; }; /** - * Creates a DataContractValue message from a plain object. Also converts values to their respective internal types. + * Creates a GetDataContractsResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} DataContractValue + * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} GetDataContractsResponseV0 */ - DataContractValue.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue) + GetDataContractsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue(); - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length >= 0) - message.value = object.value; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0(); + if (object.dataContracts != null) { + if (typeof object.dataContracts !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.dataContracts: object expected"); + message.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.fromObject(object.dataContracts); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } return message; }; /** - * Creates a plain object from a DataContractValue message. Also converts values to other types if specified. + * Creates a plain object from a GetDataContractsResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} message DataContractValue + * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message GetDataContractsResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DataContractValue.toObject = function toObject(message, options) { + GetDataContractsResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + object.metadata = null; + if (message.dataContracts != null && message.hasOwnProperty("dataContracts")) { + object.dataContracts = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(message.dataContracts, options); + if (options.oneofs) + object.result = "dataContracts"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this DataContractValue to JSON. + * Converts this GetDataContractsResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue + * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 * @instance * @returns {Object.} JSON object */ - DataContractValue.prototype.toJSON = function toJSON() { + GetDataContractsResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DataContractValue; - })(); + return GetDataContractsResponseV0; + })(); + + return GetDataContractsResponse; + })(); + + v0.GetDataContractHistoryRequest = (function() { + + /** + * Properties of a GetDataContractHistoryRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractHistoryRequest + * @property {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0|null} [v0] GetDataContractHistoryRequest v0 + */ + + /** + * Constructs a new GetDataContractHistoryRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractHistoryRequest. + * @implements IGetDataContractHistoryRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set + */ + function GetDataContractHistoryRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractHistoryRequest v0. + * @member {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @instance + */ + GetDataContractHistoryRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractHistoryRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @instance + */ + Object.defineProperty(GetDataContractHistoryRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractHistoryRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest instance + */ + GetDataContractHistoryRequest.create = function create(properties) { + return new GetDataContractHistoryRequest(properties); + }; + + /** + * Encodes the specified GetDataContractHistoryRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractHistoryRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractHistoryRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractHistoryRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractHistoryRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractHistoryRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDataContractHistoryRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + */ + GetDataContractHistoryRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDataContractHistoryRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message GetDataContractHistoryRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractHistoryRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDataContractHistoryRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @instance + * @returns {Object.} JSON object + */ + GetDataContractHistoryRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetDataContractsResponse.DataContractEntry = (function() { + GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 = (function() { /** - * Properties of a DataContractEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @interface IDataContractEntry - * @property {Uint8Array|null} [key] DataContractEntry key - * @property {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractValue|null} [value] DataContractEntry value + * Properties of a GetDataContractHistoryRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @interface IGetDataContractHistoryRequestV0 + * @property {Uint8Array|null} [id] GetDataContractHistoryRequestV0 id + * @property {google.protobuf.IUInt32Value|null} [limit] GetDataContractHistoryRequestV0 limit + * @property {google.protobuf.IUInt32Value|null} [offset] GetDataContractHistoryRequestV0 offset + * @property {number|Long|null} [startAtMs] GetDataContractHistoryRequestV0 startAtMs + * @property {boolean|null} [prove] GetDataContractHistoryRequestV0 prove */ /** - * Constructs a new DataContractEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @classdesc Represents a DataContractEntry. - * @implements IDataContractEntry + * Constructs a new GetDataContractHistoryRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @classdesc Represents a GetDataContractHistoryRequestV0. + * @implements IGetDataContractHistoryRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0=} [properties] Properties to set */ - function DataContractEntry(properties) { + function GetDataContractHistoryRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10023,88 +12851,127 @@ $root.org = (function() { } /** - * DataContractEntry key. - * @member {Uint8Array} key - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * GetDataContractHistoryRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @instance */ - DataContractEntry.prototype.key = $util.newBuffer([]); + GetDataContractHistoryRequestV0.prototype.id = $util.newBuffer([]); /** - * DataContractEntry value. - * @member {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractValue|null|undefined} value - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * GetDataContractHistoryRequestV0 limit. + * @member {google.protobuf.IUInt32Value|null|undefined} limit + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @instance */ - DataContractEntry.prototype.value = null; + GetDataContractHistoryRequestV0.prototype.limit = null; /** - * Creates a new DataContractEntry instance using the specified properties. + * GetDataContractHistoryRequestV0 offset. + * @member {google.protobuf.IUInt32Value|null|undefined} offset + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.offset = null; + + /** + * GetDataContractHistoryRequestV0 startAtMs. + * @member {number|Long} startAtMs + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.startAtMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * GetDataContractHistoryRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + */ + GetDataContractHistoryRequestV0.prototype.prove = false; + + /** + * Creates a new GetDataContractHistoryRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry instance + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 instance */ - DataContractEntry.create = function create(properties) { - return new DataContractEntry(properties); + GetDataContractHistoryRequestV0.create = function create(properties) { + return new GetDataContractHistoryRequestV0(properties); }; /** - * Encodes the specified DataContractEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * Encodes the specified GetDataContractHistoryRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractEntry.encode = function encode(message, writer) { + GetDataContractHistoryRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + $root.google.protobuf.UInt32Value.encode(message.limit, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) + $root.google.protobuf.UInt32Value.encode(message.offset, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.startAtMs != null && Object.hasOwnProperty.call(message, "startAtMs")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.startAtMs); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); return writer; }; /** - * Encodes the specified DataContractEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify|verify} messages. + * Encodes the specified GetDataContractHistoryRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContractEntry} message DataContractEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.IGetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractEntry.encodeDelimited = function encodeDelimited(message, writer) { + GetDataContractHistoryRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DataContractEntry message from the specified reader or buffer. + * Decodes a GetDataContractHistoryRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractEntry.decode = function decode(reader, length) { + GetDataContractHistoryRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.key = reader.bytes(); + message.id = reader.bytes(); break; case 2: - message.value = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.decode(reader, reader.uint32()); + message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + break; + case 3: + message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + break; + case 4: + message.startAtMs = reader.uint64(); + break; + case 5: + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -10115,131 +12982,386 @@ $root.org = (function() { }; /** - * Decodes a DataContractEntry message from the specified reader or buffer, length delimited. + * Decodes a GetDataContractHistoryRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractEntry.decodeDelimited = function decodeDelimited(reader) { + GetDataContractHistoryRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DataContractEntry message. + * Verifies a GetDataContractHistoryRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataContractEntry.verify = function verify(message) { + GetDataContractHistoryRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) { - var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.verify(message.value); + if (message.id != null && message.hasOwnProperty("id")) + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + if (message.limit != null && message.hasOwnProperty("limit")) { + var error = $root.google.protobuf.UInt32Value.verify(message.limit); + if (error) + return "limit." + error; + } + if (message.offset != null && message.hasOwnProperty("offset")) { + var error = $root.google.protobuf.UInt32Value.verify(message.offset); + if (error) + return "offset." + error; + } + if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) + if (!$util.isInteger(message.startAtMs) && !(message.startAtMs && $util.isInteger(message.startAtMs.low) && $util.isInteger(message.startAtMs.high))) + return "startAtMs: integer|Long expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetDataContractHistoryRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} GetDataContractHistoryRequestV0 + */ + GetDataContractHistoryRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0(); + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length >= 0) + message.id = object.id; + if (object.limit != null) { + if (typeof object.limit !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.limit: object expected"); + message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); + } + if (object.offset != null) { + if (typeof object.offset !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.offset: object expected"); + message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); + } + if (object.startAtMs != null) + if ($util.Long) + (message.startAtMs = $util.Long.fromValue(object.startAtMs)).unsigned = true; + else if (typeof object.startAtMs === "string") + message.startAtMs = parseInt(object.startAtMs, 10); + else if (typeof object.startAtMs === "number") + message.startAtMs = object.startAtMs; + else if (typeof object.startAtMs === "object") + message.startAtMs = new $util.LongBits(object.startAtMs.low >>> 0, object.startAtMs.high >>> 0).toNumber(true); + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetDataContractHistoryRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message GetDataContractHistoryRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractHistoryRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.id = ""; + else { + object.id = []; + if (options.bytes !== Array) + object.id = $util.newBuffer(object.id); + } + object.limit = null; + object.offset = null; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.startAtMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.startAtMs = options.longs === String ? "0" : 0; + object.prove = false; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); + if (message.offset != null && message.hasOwnProperty("offset")) + object.offset = $root.google.protobuf.UInt32Value.toObject(message.offset, options); + if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) + if (typeof message.startAtMs === "number") + object.startAtMs = options.longs === String ? String(message.startAtMs) : message.startAtMs; + else + object.startAtMs = options.longs === String ? $util.Long.prototype.toString.call(message.startAtMs) : options.longs === Number ? new $util.LongBits(message.startAtMs.low >>> 0, message.startAtMs.high >>> 0).toNumber(true) : message.startAtMs; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetDataContractHistoryRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDataContractHistoryRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetDataContractHistoryRequestV0; + })(); + + return GetDataContractHistoryRequest; + })(); + + v0.GetDataContractHistoryResponse = (function() { + + /** + * Properties of a GetDataContractHistoryResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetDataContractHistoryResponse + * @property {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0|null} [v0] GetDataContractHistoryResponse v0 + */ + + /** + * Constructs a new GetDataContractHistoryResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetDataContractHistoryResponse. + * @implements IGetDataContractHistoryResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set + */ + function GetDataContractHistoryResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataContractHistoryResponse v0. + * @member {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @instance + */ + GetDataContractHistoryResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractHistoryResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @instance + */ + Object.defineProperty(GetDataContractHistoryResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractHistoryResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse instance + */ + GetDataContractHistoryResponse.create = function create(properties) { + return new GetDataContractHistoryResponse(properties); + }; + + /** + * Encodes the specified GetDataContractHistoryResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetDataContractHistoryResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataContractHistoryResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataContractHistoryResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataContractHistoryResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataContractHistoryResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataContractHistoryResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataContractHistoryResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.verify(message.v0); if (error) - return "value." + error; - } - return null; - }; - - /** - * Creates a DataContractEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} DataContractEntry - */ - DataContractEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length >= 0) - message.key = object.key; - if (object.value != null) { - if (typeof object.value !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.value: object expected"); - message.value = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.fromObject(object.value); + return "v0." + error; } - return message; - }; + } + return null; + }; - /** - * Creates a plain object from a DataContractEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message DataContractEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DataContractEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - object.value = null; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObject(message.value, options); + /** + * Creates a GetDataContractHistoryResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + */ + GetDataContractHistoryResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.fromObject(object.v0); + } + return message; + }; - /** - * Converts this DataContractEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry - * @instance - * @returns {Object.} JSON object - */ - DataContractEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetDataContractHistoryResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message GetDataContractHistoryResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataContractHistoryResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - return DataContractEntry; - })(); + /** + * Converts this GetDataContractHistoryResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @instance + * @returns {Object.} JSON object + */ + GetDataContractHistoryResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetDataContractsResponse.DataContracts = (function() { + GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 = (function() { /** - * Properties of a DataContracts. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @interface IDataContracts - * @property {Array.|null} [dataContractEntries] DataContracts dataContractEntries + * Properties of a GetDataContractHistoryResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @interface IGetDataContractHistoryResponseV0 + * @property {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory|null} [dataContractHistory] GetDataContractHistoryResponseV0 dataContractHistory + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractHistoryResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractHistoryResponseV0 metadata */ /** - * Constructs a new DataContracts. - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse - * @classdesc Represents a DataContracts. - * @implements IDataContracts + * Constructs a new GetDataContractHistoryResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @classdesc Represents a GetDataContractHistoryResponseV0. + * @implements IGetDataContractHistoryResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0=} [properties] Properties to set */ - function DataContracts(properties) { - this.dataContractEntries = []; + function GetDataContractHistoryResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10247,78 +13369,115 @@ $root.org = (function() { } /** - * DataContracts dataContractEntries. - * @member {Array.} dataContractEntries - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * GetDataContractHistoryResponseV0 dataContractHistory. + * @member {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory|null|undefined} dataContractHistory + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @instance */ - DataContracts.prototype.dataContractEntries = $util.emptyArray; + GetDataContractHistoryResponseV0.prototype.dataContractHistory = null; /** - * Creates a new DataContracts instance using the specified properties. + * GetDataContractHistoryResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + */ + GetDataContractHistoryResponseV0.prototype.proof = null; + + /** + * GetDataContractHistoryResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + */ + GetDataContractHistoryResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDataContractHistoryResponseV0 result. + * @member {"dataContractHistory"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @instance + */ + Object.defineProperty(GetDataContractHistoryResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["dataContractHistory", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDataContractHistoryResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts instance + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 instance */ - DataContracts.create = function create(properties) { - return new DataContracts(properties); + GetDataContractHistoryResponseV0.create = function create(properties) { + return new GetDataContractHistoryResponseV0(properties); }; /** - * Encodes the specified DataContracts message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. + * Encodes the specified GetDataContractHistoryResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContracts.encode = function encode(message, writer) { + GetDataContractHistoryResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContractEntries != null && message.dataContractEntries.length) - for (var i = 0; i < message.dataContractEntries.length; ++i) - $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.dataContractHistory != null && Object.hasOwnProperty.call(message, "dataContractHistory")) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.encode(message.dataContractHistory, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified DataContracts message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.verify|verify} messages. + * Encodes the specified GetDataContractHistoryResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.IDataContracts} message DataContracts message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IGetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContracts.encodeDelimited = function encodeDelimited(message, writer) { + GetDataContractHistoryResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DataContracts message from the specified reader or buffer. + * Decodes a GetDataContractHistoryResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContracts.decode = function decode(reader, length) { + GetDataContractHistoryResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.dataContractEntries && message.dataContractEntries.length)) - message.dataContractEntries = []; - message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.decode(reader, reader.uint32())); + message.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -10329,131 +13488,595 @@ $root.org = (function() { }; /** - * Decodes a DataContracts message from the specified reader or buffer, length delimited. + * Decodes a GetDataContractHistoryResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContracts.decodeDelimited = function decodeDelimited(reader) { + GetDataContractHistoryResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DataContracts message. + * Verifies a GetDataContractHistoryResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataContracts.verify = function verify(message) { + GetDataContractHistoryResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { - if (!Array.isArray(message.dataContractEntries)) - return "dataContractEntries: array expected"; - for (var i = 0; i < message.dataContractEntries.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.verify(message.dataContractEntries[i]); + var properties = {}; + if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify(message.dataContractHistory); if (error) - return "dataContractEntries." + error; + return "dataContractHistory." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; } } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } return null; }; /** - * Creates a DataContracts message from a plain object. Also converts values to their respective internal types. + * Creates a GetDataContractHistoryResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} DataContracts + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} GetDataContractHistoryResponseV0 */ - DataContracts.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts) + GetDataContractHistoryResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts(); - if (object.dataContractEntries) { - if (!Array.isArray(object.dataContractEntries)) - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: array expected"); - message.dataContractEntries = []; - for (var i = 0; i < object.dataContractEntries.length; ++i) { - if (typeof object.dataContractEntries[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.dataContractEntries: object expected"); - message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.fromObject(object.dataContractEntries[i]); - } + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0(); + if (object.dataContractHistory != null) { + if (typeof object.dataContractHistory !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.dataContractHistory: object expected"); + message.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.fromObject(object.dataContractHistory); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a DataContracts message. Also converts values to other types if specified. + * Creates a plain object from a GetDataContractHistoryResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message DataContracts + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message GetDataContractHistoryResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DataContracts.toObject = function toObject(message, options) { + GetDataContractHistoryResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.dataContractEntries = []; - if (message.dataContractEntries && message.dataContractEntries.length) { - object.dataContractEntries = []; - for (var j = 0; j < message.dataContractEntries.length; ++j) - object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(message.dataContractEntries[j], options); + if (options.defaults) + object.metadata = null; + if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { + object.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(message.dataContractHistory, options); + if (options.oneofs) + object.result = "dataContractHistory"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this DataContracts to JSON. + * Converts this GetDataContractHistoryResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 * @instance * @returns {Object.} JSON object */ - DataContracts.prototype.toJSON = function toJSON() { + GetDataContractHistoryResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DataContracts; + GetDataContractHistoryResponseV0.DataContractHistoryEntry = (function() { + + /** + * Properties of a DataContractHistoryEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @interface IDataContractHistoryEntry + * @property {number|Long|null} [date] DataContractHistoryEntry date + * @property {Uint8Array|null} [value] DataContractHistoryEntry value + */ + + /** + * Constructs a new DataContractHistoryEntry. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @classdesc Represents a DataContractHistoryEntry. + * @implements IDataContractHistoryEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry=} [properties] Properties to set + */ + function DataContractHistoryEntry(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataContractHistoryEntry date. + * @member {number|Long} date + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @instance + */ + DataContractHistoryEntry.prototype.date = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * DataContractHistoryEntry value. + * @member {Uint8Array} value + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @instance + */ + DataContractHistoryEntry.prototype.value = $util.newBuffer([]); + + /** + * Creates a new DataContractHistoryEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry instance + */ + DataContractHistoryEntry.create = function create(properties) { + return new DataContractHistoryEntry(properties); + }; + + /** + * Encodes the specified DataContractHistoryEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistoryEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.date != null && Object.hasOwnProperty.call(message, "date")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.date); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + return writer; + }; + + /** + * Encodes the specified DataContractHistoryEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistoryEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataContractHistoryEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistoryEntry.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.date = reader.uint64(); + break; + case 2: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataContractHistoryEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistoryEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataContractHistoryEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContractHistoryEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.date != null && message.hasOwnProperty("date")) + if (!$util.isInteger(message.date) && !(message.date && $util.isInteger(message.date.low) && $util.isInteger(message.date.high))) + return "date: integer|Long expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + return null; + }; + + /** + * Creates a DataContractHistoryEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} DataContractHistoryEntry + */ + DataContractHistoryEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry(); + if (object.date != null) + if ($util.Long) + (message.date = $util.Long.fromValue(object.date)).unsigned = true; + else if (typeof object.date === "string") + message.date = parseInt(object.date, 10); + else if (typeof object.date === "number") + message.date = object.date; + else if (typeof object.date === "object") + message.date = new $util.LongBits(object.date.low >>> 0, object.date.high >>> 0).toNumber(true); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length >= 0) + message.value = object.value; + return message; + }; + + /** + * Creates a plain object from a DataContractHistoryEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message DataContractHistoryEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContractHistoryEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.date = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.date = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + } + if (message.date != null && message.hasOwnProperty("date")) + if (typeof message.date === "number") + object.date = options.longs === String ? String(message.date) : message.date; + else + object.date = options.longs === String ? $util.Long.prototype.toString.call(message.date) : options.longs === Number ? new $util.LongBits(message.date.low >>> 0, message.date.high >>> 0).toNumber(true) : message.date; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this DataContractHistoryEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry + * @instance + * @returns {Object.} JSON object + */ + DataContractHistoryEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DataContractHistoryEntry; + })(); + + GetDataContractHistoryResponseV0.DataContractHistory = (function() { + + /** + * Properties of a DataContractHistory. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @interface IDataContractHistory + * @property {Array.|null} [dataContractEntries] DataContractHistory dataContractEntries + */ + + /** + * Constructs a new DataContractHistory. + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 + * @classdesc Represents a DataContractHistory. + * @implements IDataContractHistory + * @constructor + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory=} [properties] Properties to set + */ + function DataContractHistory(properties) { + this.dataContractEntries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataContractHistory dataContractEntries. + * @member {Array.} dataContractEntries + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @instance + */ + DataContractHistory.prototype.dataContractEntries = $util.emptyArray; + + /** + * Creates a new DataContractHistory instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory instance + */ + DataContractHistory.create = function create(properties) { + return new DataContractHistory(properties); + }; + + /** + * Encodes the specified DataContractHistory message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory} message DataContractHistory message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistory.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContractEntries != null && message.dataContractEntries.length) + for (var i = 0; i < message.dataContractEntries.length; ++i) + $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DataContractHistory message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.IDataContractHistory} message DataContractHistory message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataContractHistory.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataContractHistory message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistory.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.dataContractEntries && message.dataContractEntries.length)) + message.dataContractEntries = []; + message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataContractHistory message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataContractHistory.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataContractHistory message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataContractHistory.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { + if (!Array.isArray(message.dataContractEntries)) + return "dataContractEntries: array expected"; + for (var i = 0; i < message.dataContractEntries.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.verify(message.dataContractEntries[i]); + if (error) + return "dataContractEntries." + error; + } + } + return null; + }; + + /** + * Creates a DataContractHistory message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} DataContractHistory + */ + DataContractHistory.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory(); + if (object.dataContractEntries) { + if (!Array.isArray(object.dataContractEntries)) + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.dataContractEntries: array expected"); + message.dataContractEntries = []; + for (var i = 0; i < object.dataContractEntries.length; ++i) { + if (typeof object.dataContractEntries[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.dataContractEntries: object expected"); + message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.fromObject(object.dataContractEntries[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DataContractHistory message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @static + * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message DataContractHistory + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataContractHistory.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.dataContractEntries = []; + if (message.dataContractEntries && message.dataContractEntries.length) { + object.dataContractEntries = []; + for (var j = 0; j < message.dataContractEntries.length; ++j) + object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(message.dataContractEntries[j], options); + } + return object; + }; + + /** + * Converts this DataContractHistory to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory + * @instance + * @returns {Object.} JSON object + */ + DataContractHistory.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DataContractHistory; + })(); + + return GetDataContractHistoryResponseV0; })(); - return GetDataContractsResponse; + return GetDataContractHistoryResponse; })(); - v0.GetDataContractHistoryRequest = (function() { + v0.GetDocumentsRequest = (function() { /** - * Properties of a GetDataContractHistoryRequest. + * Properties of a GetDocumentsRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractHistoryRequest - * @property {Uint8Array|null} [id] GetDataContractHistoryRequest id - * @property {google.protobuf.IUInt32Value|null} [limit] GetDataContractHistoryRequest limit - * @property {google.protobuf.IUInt32Value|null} [offset] GetDataContractHistoryRequest offset - * @property {number|Long|null} [startAtMs] GetDataContractHistoryRequest startAtMs - * @property {boolean|null} [prove] GetDataContractHistoryRequest prove + * @interface IGetDocumentsRequest + * @property {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0|null} [v0] GetDocumentsRequest v0 */ /** - * Constructs a new GetDataContractHistoryRequest. + * Constructs a new GetDocumentsRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractHistoryRequest. - * @implements IGetDataContractHistoryRequest + * @classdesc Represents a GetDocumentsRequest. + * @implements IGetDocumentsRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set */ - function GetDataContractHistoryRequest(properties) { + function GetDocumentsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10461,306 +14084,610 @@ $root.org = (function() { } /** - * GetDataContractHistoryRequest id. - * @member {Uint8Array} id - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @instance - */ - GetDataContractHistoryRequest.prototype.id = $util.newBuffer([]); - - /** - * GetDataContractHistoryRequest limit. - * @member {google.protobuf.IUInt32Value|null|undefined} limit - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @instance - */ - GetDataContractHistoryRequest.prototype.limit = null; - - /** - * GetDataContractHistoryRequest offset. - * @member {google.protobuf.IUInt32Value|null|undefined} offset - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * GetDocumentsRequest v0. + * @member {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest * @instance */ - GetDataContractHistoryRequest.prototype.offset = null; + GetDocumentsRequest.prototype.v0 = null; - /** - * GetDataContractHistoryRequest startAtMs. - * @member {number|Long} startAtMs - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @instance - */ - GetDataContractHistoryRequest.prototype.startAtMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetDataContractHistoryRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * GetDocumentsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest * @instance */ - GetDataContractHistoryRequest.prototype.prove = false; + Object.defineProperty(GetDocumentsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetDataContractHistoryRequest instance using the specified properties. + * Creates a new GetDocumentsRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest instance + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest instance */ - GetDataContractHistoryRequest.create = function create(properties) { - return new GetDataContractHistoryRequest(properties); + GetDocumentsRequest.create = function create(properties) { + return new GetDocumentsRequest(properties); }; /** - * Encodes the specified GetDataContractHistoryRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.verify|verify} messages. + * Encodes the specified GetDocumentsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractHistoryRequest.encode = function encode(message, writer) { + GetDocumentsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - $root.google.protobuf.UInt32Value.encode(message.limit, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) - $root.google.protobuf.UInt32Value.encode(message.offset, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.startAtMs != null && Object.hasOwnProperty.call(message, "startAtMs")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.startAtMs); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractHistoryRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryRequest.verify|verify} messages. + * Encodes the specified GetDocumentsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryRequest} message GetDataContractHistoryRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractHistoryRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetDocumentsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractHistoryRequest message from the specified reader or buffer. + * Decodes a GetDocumentsRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractHistoryRequest.decode = function decode(reader, length) { + GetDocumentsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.id = reader.bytes(); - break; - case 2: - message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 3: - message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); - break; - case 4: - message.startAtMs = reader.uint64(); - break; - case 5: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } - } - return message; - }; + } + return message; + }; + + /** + * Decodes a GetDocumentsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDocumentsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDocumentsRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDocumentsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetDocumentsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + */ + GetDocumentsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetDocumentsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest} message GetDocumentsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDocumentsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetDocumentsRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @instance + * @returns {Object.} JSON object + */ + GetDocumentsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDocumentsRequest.GetDocumentsRequestV0 = (function() { + + /** + * Properties of a GetDocumentsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @interface IGetDocumentsRequestV0 + * @property {Uint8Array|null} [dataContractId] GetDocumentsRequestV0 dataContractId + * @property {string|null} [documentType] GetDocumentsRequestV0 documentType + * @property {Uint8Array|null} [where] GetDocumentsRequestV0 where + * @property {Uint8Array|null} [orderBy] GetDocumentsRequestV0 orderBy + * @property {number|null} [limit] GetDocumentsRequestV0 limit + * @property {Uint8Array|null} [startAfter] GetDocumentsRequestV0 startAfter + * @property {Uint8Array|null} [startAt] GetDocumentsRequestV0 startAt + * @property {boolean|null} [prove] GetDocumentsRequestV0 prove + */ + + /** + * Constructs a new GetDocumentsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @classdesc Represents a GetDocumentsRequestV0. + * @implements IGetDocumentsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0=} [properties] Properties to set + */ + function GetDocumentsRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDocumentsRequestV0 dataContractId. + * @member {Uint8Array} dataContractId + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.dataContractId = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 documentType. + * @member {string} documentType + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.documentType = ""; + + /** + * GetDocumentsRequestV0 where. + * @member {Uint8Array} where + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.where = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 orderBy. + * @member {Uint8Array} orderBy + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.orderBy = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 limit. + * @member {number} limit + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.limit = 0; + + /** + * GetDocumentsRequestV0 startAfter. + * @member {Uint8Array} startAfter + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.startAfter = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 startAt. + * @member {Uint8Array} startAt + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.startAt = $util.newBuffer([]); + + /** + * GetDocumentsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + GetDocumentsRequestV0.prototype.prove = false; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDocumentsRequestV0 start. + * @member {"startAfter"|"startAt"|undefined} start + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + */ + Object.defineProperty(GetDocumentsRequestV0.prototype, "start", { + get: $util.oneOfGetter($oneOfFields = ["startAfter", "startAt"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDocumentsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 instance + */ + GetDocumentsRequestV0.create = function create(properties) { + return new GetDocumentsRequestV0(properties); + }; + + /** + * Encodes the specified GetDocumentsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0} message GetDocumentsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataContractId != null && Object.hasOwnProperty.call(message, "dataContractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContractId); + if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); + if (message.where != null && Object.hasOwnProperty.call(message, "where")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.where); + if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.orderBy); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.limit); + if (message.startAfter != null && Object.hasOwnProperty.call(message, "startAfter")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.startAfter); + if (message.startAt != null && Object.hasOwnProperty.call(message, "startAt")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.startAt); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetDocumentsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.IGetDocumentsRequestV0} message GetDocumentsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDocumentsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDocumentsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDocumentsRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dataContractId = reader.bytes(); + break; + case 2: + message.documentType = reader.string(); + break; + case 3: + message.where = reader.bytes(); + break; + case 4: + message.orderBy = reader.bytes(); + break; + case 5: + message.limit = reader.uint32(); + break; + case 6: + message.startAfter = reader.bytes(); + break; + case 7: + message.startAt = reader.bytes(); + break; + case 8: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Decodes a GetDataContractHistoryRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetDataContractHistoryRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a GetDocumentsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDocumentsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a GetDataContractHistoryRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetDataContractHistoryRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) - return "id: buffer expected"; - if (message.limit != null && message.hasOwnProperty("limit")) { - var error = $root.google.protobuf.UInt32Value.verify(message.limit); - if (error) - return "limit." + error; - } - if (message.offset != null && message.hasOwnProperty("offset")) { - var error = $root.google.protobuf.UInt32Value.verify(message.offset); - if (error) - return "offset." + error; - } - if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) - if (!$util.isInteger(message.startAtMs) && !(message.startAtMs && $util.isInteger(message.startAtMs.low) && $util.isInteger(message.startAtMs.high))) - return "startAtMs: integer|Long expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; + /** + * Verifies a GetDocumentsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDocumentsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) + if (!(message.dataContractId && typeof message.dataContractId.length === "number" || $util.isString(message.dataContractId))) + return "dataContractId: buffer expected"; + if (message.documentType != null && message.hasOwnProperty("documentType")) + if (!$util.isString(message.documentType)) + return "documentType: string expected"; + if (message.where != null && message.hasOwnProperty("where")) + if (!(message.where && typeof message.where.length === "number" || $util.isString(message.where))) + return "where: buffer expected"; + if (message.orderBy != null && message.hasOwnProperty("orderBy")) + if (!(message.orderBy && typeof message.orderBy.length === "number" || $util.isString(message.orderBy))) + return "orderBy: buffer expected"; + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + if (message.startAfter != null && message.hasOwnProperty("startAfter")) { + properties.start = 1; + if (!(message.startAfter && typeof message.startAfter.length === "number" || $util.isString(message.startAfter))) + return "startAfter: buffer expected"; + } + if (message.startAt != null && message.hasOwnProperty("startAt")) { + if (properties.start === 1) + return "start: multiple values"; + properties.start = 1; + if (!(message.startAt && typeof message.startAt.length === "number" || $util.isString(message.startAt))) + return "startAt: buffer expected"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; - /** - * Creates a GetDataContractHistoryRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} GetDataContractHistoryRequest - */ - GetDataContractHistoryRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryRequest(); - if (object.id != null) - if (typeof object.id === "string") - $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); - else if (object.id.length >= 0) - message.id = object.id; - if (object.limit != null) { - if (typeof object.limit !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.limit: object expected"); - message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); - } - if (object.offset != null) { - if (typeof object.offset !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryRequest.offset: object expected"); - message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); - } - if (object.startAtMs != null) - if ($util.Long) - (message.startAtMs = $util.Long.fromValue(object.startAtMs)).unsigned = true; - else if (typeof object.startAtMs === "string") - message.startAtMs = parseInt(object.startAtMs, 10); - else if (typeof object.startAtMs === "number") - message.startAtMs = object.startAtMs; - else if (typeof object.startAtMs === "object") - message.startAtMs = new $util.LongBits(object.startAtMs.low >>> 0, object.startAtMs.high >>> 0).toNumber(true); - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; + /** + * Creates a GetDocumentsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} GetDocumentsRequestV0 + */ + GetDocumentsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0(); + if (object.dataContractId != null) + if (typeof object.dataContractId === "string") + $util.base64.decode(object.dataContractId, message.dataContractId = $util.newBuffer($util.base64.length(object.dataContractId)), 0); + else if (object.dataContractId.length >= 0) + message.dataContractId = object.dataContractId; + if (object.documentType != null) + message.documentType = String(object.documentType); + if (object.where != null) + if (typeof object.where === "string") + $util.base64.decode(object.where, message.where = $util.newBuffer($util.base64.length(object.where)), 0); + else if (object.where.length >= 0) + message.where = object.where; + if (object.orderBy != null) + if (typeof object.orderBy === "string") + $util.base64.decode(object.orderBy, message.orderBy = $util.newBuffer($util.base64.length(object.orderBy)), 0); + else if (object.orderBy.length >= 0) + message.orderBy = object.orderBy; + if (object.limit != null) + message.limit = object.limit >>> 0; + if (object.startAfter != null) + if (typeof object.startAfter === "string") + $util.base64.decode(object.startAfter, message.startAfter = $util.newBuffer($util.base64.length(object.startAfter)), 0); + else if (object.startAfter.length >= 0) + message.startAfter = object.startAfter; + if (object.startAt != null) + if (typeof object.startAt === "string") + $util.base64.decode(object.startAt, message.startAt = $util.newBuffer($util.base64.length(object.startAt)), 0); + else if (object.startAt.length >= 0) + message.startAt = object.startAt; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; - /** - * Creates a plain object from a GetDataContractHistoryRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message GetDataContractHistoryRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetDataContractHistoryRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.id = ""; - else { - object.id = []; - if (options.bytes !== Array) - object.id = $util.newBuffer(object.id); + /** + * Creates a plain object from a GetDocumentsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message GetDocumentsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDocumentsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.dataContractId = ""; + else { + object.dataContractId = []; + if (options.bytes !== Array) + object.dataContractId = $util.newBuffer(object.dataContractId); + } + object.documentType = ""; + if (options.bytes === String) + object.where = ""; + else { + object.where = []; + if (options.bytes !== Array) + object.where = $util.newBuffer(object.where); + } + if (options.bytes === String) + object.orderBy = ""; + else { + object.orderBy = []; + if (options.bytes !== Array) + object.orderBy = $util.newBuffer(object.orderBy); + } + object.limit = 0; + object.prove = false; } - object.limit = null; - object.offset = null; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.startAtMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startAtMs = options.longs === String ? "0" : 0; - object.prove = false; - } - if (message.id != null && message.hasOwnProperty("id")) - object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = $root.google.protobuf.UInt32Value.toObject(message.limit, options); - if (message.offset != null && message.hasOwnProperty("offset")) - object.offset = $root.google.protobuf.UInt32Value.toObject(message.offset, options); - if (message.startAtMs != null && message.hasOwnProperty("startAtMs")) - if (typeof message.startAtMs === "number") - object.startAtMs = options.longs === String ? String(message.startAtMs) : message.startAtMs; - else - object.startAtMs = options.longs === String ? $util.Long.prototype.toString.call(message.startAtMs) : options.longs === Number ? new $util.LongBits(message.startAtMs.low >>> 0, message.startAtMs.high >>> 0).toNumber(true) : message.startAtMs; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) + object.dataContractId = options.bytes === String ? $util.base64.encode(message.dataContractId, 0, message.dataContractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContractId) : message.dataContractId; + if (message.documentType != null && message.hasOwnProperty("documentType")) + object.documentType = message.documentType; + if (message.where != null && message.hasOwnProperty("where")) + object.where = options.bytes === String ? $util.base64.encode(message.where, 0, message.where.length) : options.bytes === Array ? Array.prototype.slice.call(message.where) : message.where; + if (message.orderBy != null && message.hasOwnProperty("orderBy")) + object.orderBy = options.bytes === String ? $util.base64.encode(message.orderBy, 0, message.orderBy.length) : options.bytes === Array ? Array.prototype.slice.call(message.orderBy) : message.orderBy; + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = message.limit; + if (message.startAfter != null && message.hasOwnProperty("startAfter")) { + object.startAfter = options.bytes === String ? $util.base64.encode(message.startAfter, 0, message.startAfter.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAfter) : message.startAfter; + if (options.oneofs) + object.start = "startAfter"; + } + if (message.startAt != null && message.hasOwnProperty("startAt")) { + object.startAt = options.bytes === String ? $util.base64.encode(message.startAt, 0, message.startAt.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAt) : message.startAt; + if (options.oneofs) + object.start = "startAt"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - /** - * Converts this GetDataContractHistoryRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryRequest - * @instance - * @returns {Object.} JSON object - */ - GetDataContractHistoryRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this GetDocumentsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetDocumentsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GetDataContractHistoryRequest; + return GetDocumentsRequestV0; + })(); + + return GetDocumentsRequest; })(); - v0.GetDataContractHistoryResponse = (function() { + v0.GetDocumentsResponse = (function() { /** - * Properties of a GetDataContractHistoryResponse. + * Properties of a GetDocumentsResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDataContractHistoryResponse - * @property {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistory|null} [dataContractHistory] GetDataContractHistoryResponse dataContractHistory - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDataContractHistoryResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDataContractHistoryResponse metadata + * @interface IGetDocumentsResponse + * @property {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0|null} [v0] GetDocumentsResponse v0 */ /** - * Constructs a new GetDataContractHistoryResponse. + * Constructs a new GetDocumentsResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDataContractHistoryResponse. - * @implements IGetDataContractHistoryResponse + * @classdesc Represents a GetDocumentsResponse. + * @implements IGetDocumentsResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set */ - function GetDataContractHistoryResponse(properties) { + function GetDocumentsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10768,115 +14695,89 @@ $root.org = (function() { } /** - * GetDataContractHistoryResponse dataContractHistory. - * @member {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistory|null|undefined} dataContractHistory - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @instance - */ - GetDataContractHistoryResponse.prototype.dataContractHistory = null; - - /** - * GetDataContractHistoryResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @instance - */ - GetDataContractHistoryResponse.prototype.proof = null; - - /** - * GetDataContractHistoryResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * GetDocumentsResponse v0. + * @member {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @instance */ - GetDataContractHistoryResponse.prototype.metadata = null; + GetDocumentsResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDataContractHistoryResponse result. - * @member {"dataContractHistory"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * GetDocumentsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @instance */ - Object.defineProperty(GetDataContractHistoryResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["dataContractHistory", "proof"]), + Object.defineProperty(GetDocumentsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDataContractHistoryResponse instance using the specified properties. + * Creates a new GetDocumentsResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse instance + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse instance */ - GetDataContractHistoryResponse.create = function create(properties) { - return new GetDataContractHistoryResponse(properties); + GetDocumentsResponse.create = function create(properties) { + return new GetDocumentsResponse(properties); }; /** - * Encodes the specified GetDataContractHistoryResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.verify|verify} messages. + * Encodes the specified GetDocumentsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractHistoryResponse.encode = function encode(message, writer) { + GetDocumentsResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContractHistory != null && Object.hasOwnProperty.call(message, "dataContractHistory")) - $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.encode(message.dataContractHistory, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDataContractHistoryResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.verify|verify} messages. + * Encodes the specified GetDocumentsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDataContractHistoryResponse} message GetDataContractHistoryResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDataContractHistoryResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetDocumentsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDataContractHistoryResponse message from the specified reader or buffer. + * Decodes a GetDocumentsResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractHistoryResponse.decode = function decode(reader, length) { + GetDocumentsResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -10887,149 +14788,116 @@ $root.org = (function() { }; /** - * Decodes a GetDataContractHistoryResponse message from the specified reader or buffer, length delimited. + * Decodes a GetDocumentsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDataContractHistoryResponse.decodeDelimited = function decodeDelimited(reader) { + GetDocumentsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDataContractHistoryResponse message. + * Verifies a GetDocumentsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDataContractHistoryResponse.verify = function verify(message) { + GetDocumentsResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.verify(message.dataContractHistory); - if (error) - return "dataContractHistory." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; /** - * Creates a GetDataContractHistoryResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetDocumentsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} GetDataContractHistoryResponse + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse */ - GetDataContractHistoryResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse) + GetDocumentsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse(); - if (object.dataContractHistory != null) { - if (typeof object.dataContractHistory !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.dataContractHistory: object expected"); - message.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.fromObject(object.dataContractHistory); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetDataContractHistoryResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetDocumentsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message GetDataContractHistoryResponse + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse} message GetDocumentsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDataContractHistoryResponse.toObject = function toObject(message, options) { + GetDocumentsResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.dataContractHistory != null && message.hasOwnProperty("dataContractHistory")) { - object.dataContractHistory = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.toObject(message.dataContractHistory, options); - if (options.oneofs) - object.result = "dataContractHistory"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(message.v0, options); if (options.oneofs) - object.result = "proof"; + object.version = "v0"; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetDataContractHistoryResponse to JSON. + * Converts this GetDocumentsResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse * @instance * @returns {Object.} JSON object */ - GetDataContractHistoryResponse.prototype.toJSON = function toJSON() { + GetDocumentsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetDataContractHistoryResponse.DataContractHistoryEntry = (function() { + GetDocumentsResponse.GetDocumentsResponseV0 = (function() { /** - * Properties of a DataContractHistoryEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @interface IDataContractHistoryEntry - * @property {number|Long|null} [date] DataContractHistoryEntry date - * @property {Uint8Array|null} [value] DataContractHistoryEntry value + * Properties of a GetDocumentsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @interface IGetDocumentsResponseV0 + * @property {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments|null} [documents] GetDocumentsResponseV0 documents + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDocumentsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDocumentsResponseV0 metadata */ /** - * Constructs a new DataContractHistoryEntry. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @classdesc Represents a DataContractHistoryEntry. - * @implements IDataContractHistoryEntry + * Constructs a new GetDocumentsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse + * @classdesc Represents a GetDocumentsResponseV0. + * @implements IGetDocumentsResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistoryEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0=} [properties] Properties to set */ - function DataContractHistoryEntry(properties) { + function GetDocumentsResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11037,88 +14905,115 @@ $root.org = (function() { } /** - * DataContractHistoryEntry date. - * @member {number|Long} date - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * GetDocumentsResponseV0 documents. + * @member {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments|null|undefined} documents + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @instance */ - DataContractHistoryEntry.prototype.date = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + GetDocumentsResponseV0.prototype.documents = null; /** - * DataContractHistoryEntry value. - * @member {Uint8Array} value - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * GetDocumentsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @instance */ - DataContractHistoryEntry.prototype.value = $util.newBuffer([]); + GetDocumentsResponseV0.prototype.proof = null; /** - * Creates a new DataContractHistoryEntry instance using the specified properties. + * GetDocumentsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @instance + */ + GetDocumentsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetDocumentsResponseV0 result. + * @member {"documents"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @instance + */ + Object.defineProperty(GetDocumentsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["documents", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetDocumentsResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistoryEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} DataContractHistoryEntry instance + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 instance */ - DataContractHistoryEntry.create = function create(properties) { - return new DataContractHistoryEntry(properties); + GetDocumentsResponseV0.create = function create(properties) { + return new GetDocumentsResponseV0(properties); }; /** - * Encodes the specified DataContractHistoryEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.verify|verify} messages. + * Encodes the specified GetDocumentsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0} message GetDocumentsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractHistoryEntry.encode = function encode(message, writer) { + GetDocumentsResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.date != null && Object.hasOwnProperty.call(message, "date")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.date); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + if (message.documents != null && Object.hasOwnProperty.call(message, "documents")) + $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.encode(message.documents, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified DataContractHistoryEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.verify|verify} messages. + * Encodes the specified GetDocumentsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistoryEntry} message DataContractHistoryEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IGetDocumentsResponseV0} message GetDocumentsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractHistoryEntry.encodeDelimited = function encodeDelimited(message, writer) { + GetDocumentsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DataContractHistoryEntry message from the specified reader or buffer. + * Decodes a GetDocumentsResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} DataContractHistoryEntry + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractHistoryEntry.decode = function decode(reader, length) { + GetDocumentsResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.date = reader.uint64(); + message.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.decode(reader, reader.uint32()); break; case 2: - message.value = reader.bytes(); + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -11129,140 +15024,570 @@ $root.org = (function() { }; /** - * Decodes a DataContractHistoryEntry message from the specified reader or buffer, length delimited. + * Decodes a GetDocumentsResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} DataContractHistoryEntry + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractHistoryEntry.decodeDelimited = function decodeDelimited(reader) { + GetDocumentsResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DataContractHistoryEntry message. + * Verifies a GetDocumentsResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataContractHistoryEntry.verify = function verify(message) { + GetDocumentsResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.date != null && message.hasOwnProperty("date")) - if (!$util.isInteger(message.date) && !(message.date && $util.isInteger(message.date.low) && $util.isInteger(message.date.high))) - return "date: integer|Long expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; + var properties = {}; + if (message.documents != null && message.hasOwnProperty("documents")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify(message.documents); + if (error) + return "documents." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } return null; }; /** - * Creates a DataContractHistoryEntry message from a plain object. Also converts values to their respective internal types. + * Creates a GetDocumentsResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} DataContractHistoryEntry + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} GetDocumentsResponseV0 */ - DataContractHistoryEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry) + GetDocumentsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry(); - if (object.date != null) - if ($util.Long) - (message.date = $util.Long.fromValue(object.date)).unsigned = true; - else if (typeof object.date === "string") - message.date = parseInt(object.date, 10); - else if (typeof object.date === "number") - message.date = object.date; - else if (typeof object.date === "object") - message.date = new $util.LongBits(object.date.low >>> 0, object.date.high >>> 0).toNumber(true); - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length >= 0) - message.value = object.value; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0(); + if (object.documents != null) { + if (typeof object.documents !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.documents: object expected"); + message.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.fromObject(object.documents); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } return message; }; /** - * Creates a plain object from a DataContractHistoryEntry message. Also converts values to other types if specified. + * Creates a plain object from a GetDocumentsResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} message DataContractHistoryEntry + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message GetDocumentsResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DataContractHistoryEntry.toObject = function toObject(message, options) { + GetDocumentsResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.date = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.date = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); + if (options.defaults) + object.metadata = null; + if (message.documents != null && message.hasOwnProperty("documents")) { + object.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(message.documents, options); + if (options.oneofs) + object.result = "documents"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetDocumentsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetDocumentsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetDocumentsResponseV0.Documents = (function() { + + /** + * Properties of a Documents. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @interface IDocuments + * @property {Array.|null} [documents] Documents documents + */ + + /** + * Constructs a new Documents. + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 + * @classdesc Represents a Documents. + * @implements IDocuments + * @constructor + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments=} [properties] Properties to set + */ + function Documents(properties) { + this.documents = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Documents documents. + * @member {Array.} documents + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @instance + */ + Documents.prototype.documents = $util.emptyArray; + + /** + * Creates a new Documents instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents instance + */ + Documents.create = function create(properties) { + return new Documents(properties); + }; + + /** + * Encodes the specified Documents message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments} message Documents message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Documents.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.documents != null && message.documents.length) + for (var i = 0; i < message.documents.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.documents[i]); + return writer; + }; + + /** + * Encodes the specified Documents message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.IDocuments} message Documents message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Documents.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Documents message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Documents.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.documents && message.documents.length)) + message.documents = []; + message.documents.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Documents message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Documents.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Documents message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Documents.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.documents != null && message.hasOwnProperty("documents")) { + if (!Array.isArray(message.documents)) + return "documents: array expected"; + for (var i = 0; i < message.documents.length; ++i) + if (!(message.documents[i] && typeof message.documents[i].length === "number" || $util.isString(message.documents[i]))) + return "documents: buffer[] expected"; + } + return null; + }; + + /** + * Creates a Documents message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} Documents + */ + Documents.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents(); + if (object.documents) { + if (!Array.isArray(object.documents)) + throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.documents: array expected"); + message.documents = []; + for (var i = 0; i < object.documents.length; ++i) + if (typeof object.documents[i] === "string") + $util.base64.decode(object.documents[i], message.documents[i] = $util.newBuffer($util.base64.length(object.documents[i])), 0); + else if (object.documents[i].length >= 0) + message.documents[i] = object.documents[i]; + } + return message; + }; + + /** + * Creates a plain object from a Documents message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @static + * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message Documents + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Documents.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.documents = []; + if (message.documents && message.documents.length) { + object.documents = []; + for (var j = 0; j < message.documents.length; ++j) + object.documents[j] = options.bytes === String ? $util.base64.encode(message.documents[j], 0, message.documents[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.documents[j]) : message.documents[j]; } + return object; + }; + + /** + * Converts this Documents to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents + * @instance + * @returns {Object.} JSON object + */ + Documents.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Documents; + })(); + + return GetDocumentsResponseV0; + })(); + + return GetDocumentsResponse; + })(); + + v0.GetIdentitiesByPublicKeyHashesRequest = (function() { + + /** + * Properties of a GetIdentitiesByPublicKeyHashesRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentitiesByPublicKeyHashesRequest + * @property {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.IGetIdentitiesByPublicKeyHashesRequestV0|null} [v0] GetIdentitiesByPublicKeyHashesRequest v0 + */ + + /** + * Constructs a new GetIdentitiesByPublicKeyHashesRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentitiesByPublicKeyHashesRequest. + * @implements IGetIdentitiesByPublicKeyHashesRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest=} [properties] Properties to set + */ + function GetIdentitiesByPublicKeyHashesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetIdentitiesByPublicKeyHashesRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.IGetIdentitiesByPublicKeyHashesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @instance + */ + GetIdentitiesByPublicKeyHashesRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentitiesByPublicKeyHashesRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @instance + */ + Object.defineProperty(GetIdentitiesByPublicKeyHashesRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentitiesByPublicKeyHashesRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest instance + */ + GetIdentitiesByPublicKeyHashesRequest.create = function create(properties) { + return new GetIdentitiesByPublicKeyHashesRequest(properties); + }; + + /** + * Encodes the specified GetIdentitiesByPublicKeyHashesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest} message GetIdentitiesByPublicKeyHashesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesByPublicKeyHashesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentitiesByPublicKeyHashesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest} message GetIdentitiesByPublicKeyHashesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesByPublicKeyHashesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentitiesByPublicKeyHashesRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesByPublicKeyHashesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentitiesByPublicKeyHashesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesByPublicKeyHashesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentitiesByPublicKeyHashesRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentitiesByPublicKeyHashesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.verify(message.v0); + if (error) + return "v0." + error; } - if (message.date != null && message.hasOwnProperty("date")) - if (typeof message.date === "number") - object.date = options.longs === String ? String(message.date) : message.date; - else - object.date = options.longs === String ? $util.Long.prototype.toString.call(message.date) : options.longs === Number ? new $util.LongBits(message.date.low >>> 0, message.date.high >>> 0).toNumber(true) : message.date; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + } + return null; + }; + + /** + * Creates a GetIdentitiesByPublicKeyHashesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest + */ + GetIdentitiesByPublicKeyHashesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.fromObject(object.v0); + } + return message; + }; - /** - * Converts this DataContractHistoryEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry - * @instance - * @returns {Object.} JSON object - */ - DataContractHistoryEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetIdentitiesByPublicKeyHashesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message GetIdentitiesByPublicKeyHashesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentitiesByPublicKeyHashesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - return DataContractHistoryEntry; - })(); + /** + * Converts this GetIdentitiesByPublicKeyHashesRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @instance + * @returns {Object.} JSON object + */ + GetIdentitiesByPublicKeyHashesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetDataContractHistoryResponse.DataContractHistory = (function() { + GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 = (function() { /** - * Properties of a DataContractHistory. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @interface IDataContractHistory - * @property {Array.|null} [dataContractEntries] DataContractHistory dataContractEntries + * Properties of a GetIdentitiesByPublicKeyHashesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @interface IGetIdentitiesByPublicKeyHashesRequestV0 + * @property {Array.|null} [publicKeyHashes] GetIdentitiesByPublicKeyHashesRequestV0 publicKeyHashes + * @property {boolean|null} [prove] GetIdentitiesByPublicKeyHashesRequestV0 prove */ /** - * Constructs a new DataContractHistory. - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse - * @classdesc Represents a DataContractHistory. - * @implements IDataContractHistory + * Constructs a new GetIdentitiesByPublicKeyHashesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest + * @classdesc Represents a GetIdentitiesByPublicKeyHashesRequestV0. + * @implements IGetIdentitiesByPublicKeyHashesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistory=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.IGetIdentitiesByPublicKeyHashesRequestV0=} [properties] Properties to set */ - function DataContractHistory(properties) { - this.dataContractEntries = []; + function GetIdentitiesByPublicKeyHashesRequestV0(properties) { + this.publicKeyHashes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11270,78 +15595,91 @@ $root.org = (function() { } /** - * DataContractHistory dataContractEntries. - * @member {Array.} dataContractEntries - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * GetIdentitiesByPublicKeyHashesRequestV0 publicKeyHashes. + * @member {Array.} publicKeyHashes + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 + * @instance + */ + GetIdentitiesByPublicKeyHashesRequestV0.prototype.publicKeyHashes = $util.emptyArray; + + /** + * GetIdentitiesByPublicKeyHashesRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @instance */ - DataContractHistory.prototype.dataContractEntries = $util.emptyArray; + GetIdentitiesByPublicKeyHashesRequestV0.prototype.prove = false; /** - * Creates a new DataContractHistory instance using the specified properties. + * Creates a new GetIdentitiesByPublicKeyHashesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistory=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} DataContractHistory instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.IGetIdentitiesByPublicKeyHashesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} GetIdentitiesByPublicKeyHashesRequestV0 instance */ - DataContractHistory.create = function create(properties) { - return new DataContractHistory(properties); + GetIdentitiesByPublicKeyHashesRequestV0.create = function create(properties) { + return new GetIdentitiesByPublicKeyHashesRequestV0(properties); }; /** - * Encodes the specified DataContractHistory message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.verify|verify} messages. + * Encodes the specified GetIdentitiesByPublicKeyHashesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistory} message DataContractHistory message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.IGetIdentitiesByPublicKeyHashesRequestV0} message GetIdentitiesByPublicKeyHashesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractHistory.encode = function encode(message, writer) { + GetIdentitiesByPublicKeyHashesRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContractEntries != null && message.dataContractEntries.length) - for (var i = 0; i < message.dataContractEntries.length; ++i) - $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.encode(message.dataContractEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.publicKeyHashes != null && message.publicKeyHashes.length) + for (var i = 0; i < message.publicKeyHashes.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHashes[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified DataContractHistory message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.verify|verify} messages. + * Encodes the specified GetIdentitiesByPublicKeyHashesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.IDataContractHistory} message DataContractHistory message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.IGetIdentitiesByPublicKeyHashesRequestV0} message GetIdentitiesByPublicKeyHashesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DataContractHistory.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesByPublicKeyHashesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DataContractHistory message from the specified reader or buffer. + * Decodes a GetIdentitiesByPublicKeyHashesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} DataContractHistory + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} GetIdentitiesByPublicKeyHashesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractHistory.decode = function decode(reader, length) { + GetIdentitiesByPublicKeyHashesRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.dataContractEntries && message.dataContractEntries.length)) - message.dataContractEntries = []; - message.dataContractEntries.push($root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.decode(reader, reader.uint32())); + if (!(message.publicKeyHashes && message.publicKeyHashes.length)) + message.publicKeyHashes = []; + message.publicKeyHashes.push(reader.bytes()); + break; + case 2: + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -11352,134 +15690,134 @@ $root.org = (function() { }; /** - * Decodes a DataContractHistory message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesByPublicKeyHashesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} DataContractHistory + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} GetIdentitiesByPublicKeyHashesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataContractHistory.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesByPublicKeyHashesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DataContractHistory message. + * Verifies a GetIdentitiesByPublicKeyHashesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataContractHistory.verify = function verify(message) { + GetIdentitiesByPublicKeyHashesRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dataContractEntries != null && message.hasOwnProperty("dataContractEntries")) { - if (!Array.isArray(message.dataContractEntries)) - return "dataContractEntries: array expected"; - for (var i = 0; i < message.dataContractEntries.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.verify(message.dataContractEntries[i]); - if (error) - return "dataContractEntries." + error; - } + if (message.publicKeyHashes != null && message.hasOwnProperty("publicKeyHashes")) { + if (!Array.isArray(message.publicKeyHashes)) + return "publicKeyHashes: array expected"; + for (var i = 0; i < message.publicKeyHashes.length; ++i) + if (!(message.publicKeyHashes[i] && typeof message.publicKeyHashes[i].length === "number" || $util.isString(message.publicKeyHashes[i]))) + return "publicKeyHashes: buffer[] expected"; } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a DataContractHistory message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesByPublicKeyHashesRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} DataContractHistory + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} GetIdentitiesByPublicKeyHashesRequestV0 */ - DataContractHistory.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory) + GetIdentitiesByPublicKeyHashesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory(); - if (object.dataContractEntries) { - if (!Array.isArray(object.dataContractEntries)) - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.dataContractEntries: array expected"); - message.dataContractEntries = []; - for (var i = 0; i < object.dataContractEntries.length; ++i) { - if (typeof object.dataContractEntries[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.dataContractEntries: object expected"); - message.dataContractEntries[i] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.fromObject(object.dataContractEntries[i]); - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0(); + if (object.publicKeyHashes) { + if (!Array.isArray(object.publicKeyHashes)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.publicKeyHashes: array expected"); + message.publicKeyHashes = []; + for (var i = 0; i < object.publicKeyHashes.length; ++i) + if (typeof object.publicKeyHashes[i] === "string") + $util.base64.decode(object.publicKeyHashes[i], message.publicKeyHashes[i] = $util.newBuffer($util.base64.length(object.publicKeyHashes[i])), 0); + else if (object.publicKeyHashes[i].length >= 0) + message.publicKeyHashes[i] = object.publicKeyHashes[i]; } + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a DataContractHistory message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesByPublicKeyHashesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} message DataContractHistory + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} message GetIdentitiesByPublicKeyHashesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DataContractHistory.toObject = function toObject(message, options) { + GetIdentitiesByPublicKeyHashesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.dataContractEntries = []; - if (message.dataContractEntries && message.dataContractEntries.length) { - object.dataContractEntries = []; - for (var j = 0; j < message.dataContractEntries.length; ++j) - object.dataContractEntries[j] = $root.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.toObject(message.dataContractEntries[j], options); + object.publicKeyHashes = []; + if (options.defaults) + object.prove = false; + if (message.publicKeyHashes && message.publicKeyHashes.length) { + object.publicKeyHashes = []; + for (var j = 0; j < message.publicKeyHashes.length; ++j) + object.publicKeyHashes[j] = options.bytes === String ? $util.base64.encode(message.publicKeyHashes[j], 0, message.publicKeyHashes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKeyHashes[j]) : message.publicKeyHashes[j]; } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this DataContractHistory to JSON. + * Converts this GetIdentitiesByPublicKeyHashesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 * @instance * @returns {Object.} JSON object */ - DataContractHistory.prototype.toJSON = function toJSON() { + GetIdentitiesByPublicKeyHashesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DataContractHistory; + return GetIdentitiesByPublicKeyHashesRequestV0; })(); - return GetDataContractHistoryResponse; + return GetIdentitiesByPublicKeyHashesRequest; })(); - v0.GetDocumentsRequest = (function() { + v0.GetIdentitiesByPublicKeyHashesResponse = (function() { /** - * Properties of a GetDocumentsRequest. + * Properties of a GetIdentitiesByPublicKeyHashesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetDocumentsRequest - * @property {Uint8Array|null} [dataContractId] GetDocumentsRequest dataContractId - * @property {string|null} [documentType] GetDocumentsRequest documentType - * @property {Uint8Array|null} [where] GetDocumentsRequest where - * @property {Uint8Array|null} [orderBy] GetDocumentsRequest orderBy - * @property {number|null} [limit] GetDocumentsRequest limit - * @property {Uint8Array|null} [startAfter] GetDocumentsRequest startAfter - * @property {Uint8Array|null} [startAt] GetDocumentsRequest startAt - * @property {boolean|null} [prove] GetDocumentsRequest prove + * @interface IGetIdentitiesByPublicKeyHashesResponse + * @property {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IGetIdentitiesByPublicKeyHashesResponseV0|null} [v0] GetIdentitiesByPublicKeyHashesResponse v0 */ /** - * Constructs a new GetDocumentsRequest. + * Constructs a new GetIdentitiesByPublicKeyHashesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDocumentsRequest. - * @implements IGetDocumentsRequest + * @classdesc Represents a GetIdentitiesByPublicKeyHashesResponse. + * @implements IGetIdentitiesByPublicKeyHashesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse=} [properties] Properties to set */ - function GetDocumentsRequest(properties) { + function GetIdentitiesByPublicKeyHashesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11487,180 +15825,89 @@ $root.org = (function() { } /** - * GetDocumentsRequest dataContractId. - * @member {Uint8Array} dataContractId - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @instance - */ - GetDocumentsRequest.prototype.dataContractId = $util.newBuffer([]); - - /** - * GetDocumentsRequest documentType. - * @member {string} documentType - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @instance - */ - GetDocumentsRequest.prototype.documentType = ""; - - /** - * GetDocumentsRequest where. - * @member {Uint8Array} where - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @instance - */ - GetDocumentsRequest.prototype.where = $util.newBuffer([]); - - /** - * GetDocumentsRequest orderBy. - * @member {Uint8Array} orderBy - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @instance - */ - GetDocumentsRequest.prototype.orderBy = $util.newBuffer([]); - - /** - * GetDocumentsRequest limit. - * @member {number} limit - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @instance - */ - GetDocumentsRequest.prototype.limit = 0; - - /** - * GetDocumentsRequest startAfter. - * @member {Uint8Array} startAfter - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @instance - */ - GetDocumentsRequest.prototype.startAfter = $util.newBuffer([]); - - /** - * GetDocumentsRequest startAt. - * @member {Uint8Array} startAt - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest - * @instance - */ - GetDocumentsRequest.prototype.startAt = $util.newBuffer([]); - - /** - * GetDocumentsRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * GetIdentitiesByPublicKeyHashesResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IGetIdentitiesByPublicKeyHashesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @instance */ - GetDocumentsRequest.prototype.prove = false; + GetIdentitiesByPublicKeyHashesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetDocumentsRequest start. - * @member {"startAfter"|"startAt"|undefined} start - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * GetIdentitiesByPublicKeyHashesResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @instance */ - Object.defineProperty(GetDocumentsRequest.prototype, "start", { - get: $util.oneOfGetter($oneOfFields = ["startAfter", "startAt"]), + Object.defineProperty(GetIdentitiesByPublicKeyHashesResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetDocumentsRequest instance using the specified properties. + * Creates a new GetIdentitiesByPublicKeyHashesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse instance */ - GetDocumentsRequest.create = function create(properties) { - return new GetDocumentsRequest(properties); + GetIdentitiesByPublicKeyHashesResponse.create = function create(properties) { + return new GetIdentitiesByPublicKeyHashesResponse(properties); }; /** - * Encodes the specified GetDocumentsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. + * Encodes the specified GetIdentitiesByPublicKeyHashesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse} message GetIdentitiesByPublicKeyHashesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDocumentsRequest.encode = function encode(message, writer) { + GetIdentitiesByPublicKeyHashesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dataContractId != null && Object.hasOwnProperty.call(message, "dataContractId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.dataContractId); - if (message.documentType != null && Object.hasOwnProperty.call(message, "documentType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentType); - if (message.where != null && Object.hasOwnProperty.call(message, "where")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.where); - if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.orderBy); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.limit); - if (message.startAfter != null && Object.hasOwnProperty.call(message, "startAfter")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.startAfter); - if (message.startAt != null && Object.hasOwnProperty.call(message, "startAt")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.startAt); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 8, wireType 0 =*/64).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetDocumentsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsRequest.verify|verify} messages. + * Encodes the specified GetIdentitiesByPublicKeyHashesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsRequest} message GetDocumentsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse} message GetIdentitiesByPublicKeyHashesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetDocumentsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesByPublicKeyHashesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetDocumentsRequest message from the specified reader or buffer. + * Decodes a GetIdentitiesByPublicKeyHashesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDocumentsRequest.decode = function decode(reader, length) { + GetIdentitiesByPublicKeyHashesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dataContractId = reader.bytes(); - break; - case 2: - message.documentType = reader.string(); - break; - case 3: - message.where = reader.bytes(); - break; - case 4: - message.orderBy = reader.bytes(); - break; - case 5: - message.limit = reader.uint32(); - break; - case 6: - message.startAfter = reader.bytes(); - break; - case 7: - message.startAt = reader.bytes(); - break; - case 8: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -11671,479 +15918,548 @@ $root.org = (function() { }; /** - * Decodes a GetDocumentsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesByPublicKeyHashesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDocumentsRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesByPublicKeyHashesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetDocumentsRequest message. + * Verifies a GetIdentitiesByPublicKeyHashesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDocumentsRequest.verify = function verify(message) { + GetIdentitiesByPublicKeyHashesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) - if (!(message.dataContractId && typeof message.dataContractId.length === "number" || $util.isString(message.dataContractId))) - return "dataContractId: buffer expected"; - if (message.documentType != null && message.hasOwnProperty("documentType")) - if (!$util.isString(message.documentType)) - return "documentType: string expected"; - if (message.where != null && message.hasOwnProperty("where")) - if (!(message.where && typeof message.where.length === "number" || $util.isString(message.where))) - return "where: buffer expected"; - if (message.orderBy != null && message.hasOwnProperty("orderBy")) - if (!(message.orderBy && typeof message.orderBy.length === "number" || $util.isString(message.orderBy))) - return "orderBy: buffer expected"; - if (message.limit != null && message.hasOwnProperty("limit")) - if (!$util.isInteger(message.limit)) - return "limit: integer expected"; - if (message.startAfter != null && message.hasOwnProperty("startAfter")) { - properties.start = 1; - if (!(message.startAfter && typeof message.startAfter.length === "number" || $util.isString(message.startAfter))) - return "startAfter: buffer expected"; - } - if (message.startAt != null && message.hasOwnProperty("startAt")) { - if (properties.start === 1) - return "start: multiple values"; - properties.start = 1; - if (!(message.startAt && typeof message.startAt.length === "number" || $util.isString(message.startAt))) - return "startAt: buffer expected"; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; return null; }; /** - * Creates a GetDocumentsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesByPublicKeyHashesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsRequest} GetDocumentsRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse */ - GetDocumentsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsRequest) + GetIdentitiesByPublicKeyHashesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDocumentsRequest(); - if (object.dataContractId != null) - if (typeof object.dataContractId === "string") - $util.base64.decode(object.dataContractId, message.dataContractId = $util.newBuffer($util.base64.length(object.dataContractId)), 0); - else if (object.dataContractId.length >= 0) - message.dataContractId = object.dataContractId; - if (object.documentType != null) - message.documentType = String(object.documentType); - if (object.where != null) - if (typeof object.where === "string") - $util.base64.decode(object.where, message.where = $util.newBuffer($util.base64.length(object.where)), 0); - else if (object.where.length >= 0) - message.where = object.where; - if (object.orderBy != null) - if (typeof object.orderBy === "string") - $util.base64.decode(object.orderBy, message.orderBy = $util.newBuffer($util.base64.length(object.orderBy)), 0); - else if (object.orderBy.length >= 0) - message.orderBy = object.orderBy; - if (object.limit != null) - message.limit = object.limit >>> 0; - if (object.startAfter != null) - if (typeof object.startAfter === "string") - $util.base64.decode(object.startAfter, message.startAfter = $util.newBuffer($util.base64.length(object.startAfter)), 0); - else if (object.startAfter.length >= 0) - message.startAfter = object.startAfter; - if (object.startAt != null) - if (typeof object.startAt === "string") - $util.base64.decode(object.startAt, message.startAt = $util.newBuffer($util.base64.length(object.startAt)), 0); - else if (object.startAt.length >= 0) - message.startAt = object.startAt; - if (object.prove != null) - message.prove = Boolean(object.prove); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.fromObject(object.v0); + } return message; }; /** - * Creates a plain object from a GetDocumentsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesByPublicKeyHashesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsRequest} message GetDocumentsRequest + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message GetIdentitiesByPublicKeyHashesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetDocumentsRequest.toObject = function toObject(message, options) { + GetIdentitiesByPublicKeyHashesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.dataContractId = ""; - else { - object.dataContractId = []; - if (options.bytes !== Array) - object.dataContractId = $util.newBuffer(object.dataContractId); - } - object.documentType = ""; - if (options.bytes === String) - object.where = ""; - else { - object.where = []; - if (options.bytes !== Array) - object.where = $util.newBuffer(object.where); - } - if (options.bytes === String) - object.orderBy = ""; - else { - object.orderBy = []; - if (options.bytes !== Array) - object.orderBy = $util.newBuffer(object.orderBy); - } - object.limit = 0; - object.prove = false; - } - if (message.dataContractId != null && message.hasOwnProperty("dataContractId")) - object.dataContractId = options.bytes === String ? $util.base64.encode(message.dataContractId, 0, message.dataContractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataContractId) : message.dataContractId; - if (message.documentType != null && message.hasOwnProperty("documentType")) - object.documentType = message.documentType; - if (message.where != null && message.hasOwnProperty("where")) - object.where = options.bytes === String ? $util.base64.encode(message.where, 0, message.where.length) : options.bytes === Array ? Array.prototype.slice.call(message.where) : message.where; - if (message.orderBy != null && message.hasOwnProperty("orderBy")) - object.orderBy = options.bytes === String ? $util.base64.encode(message.orderBy, 0, message.orderBy.length) : options.bytes === Array ? Array.prototype.slice.call(message.orderBy) : message.orderBy; - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = message.limit; - if (message.startAfter != null && message.hasOwnProperty("startAfter")) { - object.startAfter = options.bytes === String ? $util.base64.encode(message.startAfter, 0, message.startAfter.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAfter) : message.startAfter; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(message.v0, options); if (options.oneofs) - object.start = "startAfter"; + object.version = "v0"; } - if (message.startAt != null && message.hasOwnProperty("startAt")) { - object.startAt = options.bytes === String ? $util.base64.encode(message.startAt, 0, message.startAt.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAt) : message.startAt; - if (options.oneofs) - object.start = "startAt"; - } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; return object; }; /** - * Converts this GetDocumentsRequest to JSON. + * Converts this GetIdentitiesByPublicKeyHashesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse * @instance * @returns {Object.} JSON object */ - GetDocumentsRequest.prototype.toJSON = function toJSON() { + GetIdentitiesByPublicKeyHashesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetDocumentsRequest; - })(); + GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry = (function() { - v0.GetDocumentsResponse = (function() { + /** + * Properties of a PublicKeyHashIdentityEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @interface IPublicKeyHashIdentityEntry + * @property {Uint8Array|null} [publicKeyHash] PublicKeyHashIdentityEntry publicKeyHash + * @property {google.protobuf.IBytesValue|null} [value] PublicKeyHashIdentityEntry value + */ - /** - * Properties of a GetDocumentsResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetDocumentsResponse - * @property {org.dash.platform.dapi.v0.GetDocumentsResponse.IDocuments|null} [documents] GetDocumentsResponse documents - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetDocumentsResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetDocumentsResponse metadata - */ + /** + * Constructs a new PublicKeyHashIdentityEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @classdesc Represents a PublicKeyHashIdentityEntry. + * @implements IPublicKeyHashIdentityEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IPublicKeyHashIdentityEntry=} [properties] Properties to set + */ + function PublicKeyHashIdentityEntry(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new GetDocumentsResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetDocumentsResponse. - * @implements IGetDocumentsResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set - */ - function GetDocumentsResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * PublicKeyHashIdentityEntry publicKeyHash. + * @member {Uint8Array} publicKeyHash + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @instance + */ + PublicKeyHashIdentityEntry.prototype.publicKeyHash = $util.newBuffer([]); - /** - * GetDocumentsResponse documents. - * @member {org.dash.platform.dapi.v0.GetDocumentsResponse.IDocuments|null|undefined} documents - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @instance - */ - GetDocumentsResponse.prototype.documents = null; + /** + * PublicKeyHashIdentityEntry value. + * @member {google.protobuf.IBytesValue|null|undefined} value + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @instance + */ + PublicKeyHashIdentityEntry.prototype.value = null; - /** - * GetDocumentsResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @instance - */ - GetDocumentsResponse.prototype.proof = null; + /** + * Creates a new PublicKeyHashIdentityEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IPublicKeyHashIdentityEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} PublicKeyHashIdentityEntry instance + */ + PublicKeyHashIdentityEntry.create = function create(properties) { + return new PublicKeyHashIdentityEntry(properties); + }; - /** - * GetDocumentsResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @instance - */ - GetDocumentsResponse.prototype.metadata = null; + /** + * Encodes the specified PublicKeyHashIdentityEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IPublicKeyHashIdentityEntry} message PublicKeyHashIdentityEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PublicKeyHashIdentityEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.publicKeyHash != null && Object.hasOwnProperty.call(message, "publicKeyHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHash); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + $root.google.protobuf.BytesValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Encodes the specified PublicKeyHashIdentityEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IPublicKeyHashIdentityEntry} message PublicKeyHashIdentityEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PublicKeyHashIdentityEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * GetDocumentsResponse result. - * @member {"documents"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @instance - */ - Object.defineProperty(GetDocumentsResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["documents", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Decodes a PublicKeyHashIdentityEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} PublicKeyHashIdentityEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PublicKeyHashIdentityEntry.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.publicKeyHash = reader.bytes(); + break; + case 2: + message.value = $root.google.protobuf.BytesValue.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a new GetDocumentsResponse instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse instance - */ - GetDocumentsResponse.create = function create(properties) { - return new GetDocumentsResponse(properties); - }; + /** + * Decodes a PublicKeyHashIdentityEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} PublicKeyHashIdentityEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PublicKeyHashIdentityEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified GetDocumentsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetDocumentsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.documents != null && Object.hasOwnProperty.call(message, "documents")) - $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.encode(message.documents, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; + /** + * Verifies a PublicKeyHashIdentityEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PublicKeyHashIdentityEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) + if (!(message.publicKeyHash && typeof message.publicKeyHash.length === "number" || $util.isString(message.publicKeyHash))) + return "publicKeyHash: buffer expected"; + if (message.value != null && message.hasOwnProperty("value")) { + var error = $root.google.protobuf.BytesValue.verify(message.value); + if (error) + return "value." + error; + } + return null; + }; + + /** + * Creates a PublicKeyHashIdentityEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} PublicKeyHashIdentityEntry + */ + PublicKeyHashIdentityEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry(); + if (object.publicKeyHash != null) + if (typeof object.publicKeyHash === "string") + $util.base64.decode(object.publicKeyHash, message.publicKeyHash = $util.newBuffer($util.base64.length(object.publicKeyHash)), 0); + else if (object.publicKeyHash.length >= 0) + message.publicKeyHash = object.publicKeyHash; + if (object.value != null) { + if (typeof object.value !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.value: object expected"); + message.value = $root.google.protobuf.BytesValue.fromObject(object.value); + } + return message; + }; + + /** + * Creates a plain object from a PublicKeyHashIdentityEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} message PublicKeyHashIdentityEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PublicKeyHashIdentityEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.publicKeyHash = ""; + else { + object.publicKeyHash = []; + if (options.bytes !== Array) + object.publicKeyHash = $util.newBuffer(object.publicKeyHash); + } + object.value = null; + } + if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) + object.publicKeyHash = options.bytes === String ? $util.base64.encode(message.publicKeyHash, 0, message.publicKeyHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKeyHash) : message.publicKeyHash; + if (message.value != null && message.hasOwnProperty("value")) + object.value = $root.google.protobuf.BytesValue.toObject(message.value, options); + return object; + }; + + /** + * Converts this PublicKeyHashIdentityEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry + * @instance + * @returns {Object.} JSON object + */ + PublicKeyHashIdentityEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PublicKeyHashIdentityEntry; + })(); + + GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes = (function() { + + /** + * Properties of an IdentitiesByPublicKeyHashes. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @interface IIdentitiesByPublicKeyHashes + * @property {Array.|null} [identityEntries] IdentitiesByPublicKeyHashes identityEntries + */ + + /** + * Constructs a new IdentitiesByPublicKeyHashes. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @classdesc Represents an IdentitiesByPublicKeyHashes. + * @implements IIdentitiesByPublicKeyHashes + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentitiesByPublicKeyHashes=} [properties] Properties to set + */ + function IdentitiesByPublicKeyHashes(properties) { + this.identityEntries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IdentitiesByPublicKeyHashes identityEntries. + * @member {Array.} identityEntries + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @instance + */ + IdentitiesByPublicKeyHashes.prototype.identityEntries = $util.emptyArray; + + /** + * Creates a new IdentitiesByPublicKeyHashes instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentitiesByPublicKeyHashes=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} IdentitiesByPublicKeyHashes instance + */ + IdentitiesByPublicKeyHashes.create = function create(properties) { + return new IdentitiesByPublicKeyHashes(properties); + }; + + /** + * Encodes the specified IdentitiesByPublicKeyHashes message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentitiesByPublicKeyHashes} message IdentitiesByPublicKeyHashes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentitiesByPublicKeyHashes.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identityEntries != null && message.identityEntries.length) + for (var i = 0; i < message.identityEntries.length; ++i) + $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.encode(message.identityEntries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Encodes the specified GetDocumentsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetDocumentsResponse} message GetDocumentsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetDocumentsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified IdentitiesByPublicKeyHashes message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentitiesByPublicKeyHashes} message IdentitiesByPublicKeyHashes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentitiesByPublicKeyHashes.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a GetDocumentsResponse message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetDocumentsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes an IdentitiesByPublicKeyHashes message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} IdentitiesByPublicKeyHashes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentitiesByPublicKeyHashes.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.identityEntries && message.identityEntries.length)) + message.identityEntries = []; + message.identityEntries.push($root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a GetDocumentsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetDocumentsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes an IdentitiesByPublicKeyHashes message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} IdentitiesByPublicKeyHashes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentitiesByPublicKeyHashes.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a GetDocumentsResponse message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetDocumentsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.documents != null && message.hasOwnProperty("documents")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.verify(message.documents); - if (error) - return "documents." + error; + /** + * Verifies an IdentitiesByPublicKeyHashes message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentitiesByPublicKeyHashes.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identityEntries != null && message.hasOwnProperty("identityEntries")) { + if (!Array.isArray(message.identityEntries)) + return "identityEntries: array expected"; + for (var i = 0; i < message.identityEntries.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.verify(message.identityEntries[i]); + if (error) + return "identityEntries." + error; + } } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; + return null; + }; + + /** + * Creates an IdentitiesByPublicKeyHashes message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} IdentitiesByPublicKeyHashes + */ + IdentitiesByPublicKeyHashes.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes(); + if (object.identityEntries) { + if (!Array.isArray(object.identityEntries)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.identityEntries: array expected"); + message.identityEntries = []; + for (var i = 0; i < object.identityEntries.length; ++i) { + if (typeof object.identityEntries[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.identityEntries: object expected"); + message.identityEntries[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.fromObject(object.identityEntries[i]); + } } - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } - return null; - }; + return message; + }; - /** - * Creates a GetDocumentsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse} GetDocumentsResponse - */ - GetDocumentsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse) + /** + * Creates a plain object from an IdentitiesByPublicKeyHashes message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} message IdentitiesByPublicKeyHashes + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentitiesByPublicKeyHashes.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.identityEntries = []; + if (message.identityEntries && message.identityEntries.length) { + object.identityEntries = []; + for (var j = 0; j < message.identityEntries.length; ++j) + object.identityEntries[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject(message.identityEntries[j], options); + } return object; - var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse(); - if (object.documents != null) { - if (typeof object.documents !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.documents: object expected"); - message.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.fromObject(object.documents); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; + }; - /** - * Creates a plain object from a GetDocumentsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse} message GetDocumentsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetDocumentsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.documents != null && message.hasOwnProperty("documents")) { - object.documents = $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject(message.documents, options); - if (options.oneofs) - object.result = "documents"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + /** + * Converts this IdentitiesByPublicKeyHashes to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes + * @instance + * @returns {Object.} JSON object + */ + IdentitiesByPublicKeyHashes.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetDocumentsResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @instance - * @returns {Object.} JSON object - */ - GetDocumentsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return IdentitiesByPublicKeyHashes; + })(); - GetDocumentsResponse.Documents = (function() { + GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 = (function() { /** - * Properties of a Documents. - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @interface IDocuments - * @property {Array.|null} [documents] Documents documents + * Properties of a GetIdentitiesByPublicKeyHashesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @interface IGetIdentitiesByPublicKeyHashesResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentitiesByPublicKeyHashes|null} [identities] GetIdentitiesByPublicKeyHashesResponseV0 identities + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesByPublicKeyHashesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesByPublicKeyHashesResponseV0 metadata */ /** - * Constructs a new Documents. - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse - * @classdesc Represents a Documents. - * @implements IDocuments + * Constructs a new GetIdentitiesByPublicKeyHashesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @classdesc Represents a GetIdentitiesByPublicKeyHashesResponseV0. + * @implements IGetIdentitiesByPublicKeyHashesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IDocuments=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IGetIdentitiesByPublicKeyHashesResponseV0=} [properties] Properties to set */ - function Documents(properties) { - this.documents = []; + function GetIdentitiesByPublicKeyHashesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -12151,78 +16467,115 @@ $root.org = (function() { } /** - * Documents documents. - * @member {Array.} documents - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * GetIdentitiesByPublicKeyHashesResponseV0 identities. + * @member {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentitiesByPublicKeyHashes|null|undefined} identities + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 + * @instance + */ + GetIdentitiesByPublicKeyHashesResponseV0.prototype.identities = null; + + /** + * GetIdentitiesByPublicKeyHashesResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @instance */ - Documents.prototype.documents = $util.emptyArray; + GetIdentitiesByPublicKeyHashesResponseV0.prototype.proof = null; /** - * Creates a new Documents instance using the specified properties. + * GetIdentitiesByPublicKeyHashesResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 + * @instance + */ + GetIdentitiesByPublicKeyHashesResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentitiesByPublicKeyHashesResponseV0 result. + * @member {"identities"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 + * @instance + */ + Object.defineProperty(GetIdentitiesByPublicKeyHashesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identities", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentitiesByPublicKeyHashesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IDocuments=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} Documents instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IGetIdentitiesByPublicKeyHashesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} GetIdentitiesByPublicKeyHashesResponseV0 instance */ - Documents.create = function create(properties) { - return new Documents(properties); + GetIdentitiesByPublicKeyHashesResponseV0.create = function create(properties) { + return new GetIdentitiesByPublicKeyHashesResponseV0(properties); }; /** - * Encodes the specified Documents message. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.verify|verify} messages. + * Encodes the specified GetIdentitiesByPublicKeyHashesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IDocuments} message Documents message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IGetIdentitiesByPublicKeyHashesResponseV0} message GetIdentitiesByPublicKeyHashesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Documents.encode = function encode(message, writer) { + GetIdentitiesByPublicKeyHashesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.documents != null && message.documents.length) - for (var i = 0; i < message.documents.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.documents[i]); + if (message.identities != null && Object.hasOwnProperty.call(message, "identities")) + $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.encode(message.identities, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified Documents message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.verify|verify} messages. + * Encodes the specified GetIdentitiesByPublicKeyHashesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.IDocuments} message Documents message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IGetIdentitiesByPublicKeyHashesResponseV0} message GetIdentitiesByPublicKeyHashesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Documents.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesByPublicKeyHashesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Documents message from the specified reader or buffer. + * Decodes a GetIdentitiesByPublicKeyHashesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} Documents + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} GetIdentitiesByPublicKeyHashesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Documents.decode = function decode(reader, length) { + GetIdentitiesByPublicKeyHashesResponseV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.documents && message.documents.length)) - message.documents = []; - message.documents.push(reader.bytes()); + message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -12233,356 +16586,154 @@ $root.org = (function() { }; /** - * Decodes a Documents message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesByPublicKeyHashesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} Documents + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} GetIdentitiesByPublicKeyHashesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Documents.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesByPublicKeyHashesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Documents message. + * Verifies a GetIdentitiesByPublicKeyHashesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Documents.verify = function verify(message) { + GetIdentitiesByPublicKeyHashesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.documents != null && message.hasOwnProperty("documents")) { - if (!Array.isArray(message.documents)) - return "documents: array expected"; - for (var i = 0; i < message.documents.length; ++i) - if (!(message.documents[i] && typeof message.documents[i].length === "number" || $util.isString(message.documents[i]))) - return "documents: buffer[] expected"; + var properties = {}; + if (message.identities != null && message.hasOwnProperty("identities")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.verify(message.identities); + if (error) + return "identities." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; } return null; }; /** - * Creates a Documents message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesByPublicKeyHashesResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} Documents + * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} GetIdentitiesByPublicKeyHashesResponseV0 */ - Documents.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents) + GetIdentitiesByPublicKeyHashesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents(); - if (object.documents) { - if (!Array.isArray(object.documents)) - throw TypeError(".org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.documents: array expected"); - message.documents = []; - for (var i = 0; i < object.documents.length; ++i) - if (typeof object.documents[i] === "string") - $util.base64.decode(object.documents[i], message.documents[i] = $util.newBuffer($util.base64.length(object.documents[i])), 0); - else if (object.documents[i].length >= 0) - message.documents[i] = object.documents[i]; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0(); + if (object.identities != null) { + if (typeof object.identities !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.identities: object expected"); + message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.fromObject(object.identities); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a Documents message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesByPublicKeyHashesResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} message Documents + * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} message GetIdentitiesByPublicKeyHashesResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Documents.toObject = function toObject(message, options) { + GetIdentitiesByPublicKeyHashesResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.documents = []; - if (message.documents && message.documents.length) { - object.documents = []; - for (var j = 0; j < message.documents.length; ++j) - object.documents[j] = options.bytes === String ? $util.base64.encode(message.documents[j], 0, message.documents[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.documents[j]) : message.documents[j]; + if (options.defaults) + object.metadata = null; + if (message.identities != null && message.hasOwnProperty("identities")) { + object.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(message.identities, options); + if (options.oneofs) + object.result = "identities"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this Documents to JSON. + * Converts this GetIdentitiesByPublicKeyHashesResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetDocumentsResponse.Documents + * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 * @instance * @returns {Object.} JSON object */ - Documents.prototype.toJSON = function toJSON() { + GetIdentitiesByPublicKeyHashesResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Documents; + return GetIdentitiesByPublicKeyHashesResponseV0; })(); - return GetDocumentsResponse; - })(); - - v0.GetIdentitiesByPublicKeyHashesRequest = (function() { - - /** - * Properties of a GetIdentitiesByPublicKeyHashesRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesByPublicKeyHashesRequest - * @property {Array.|null} [publicKeyHashes] GetIdentitiesByPublicKeyHashesRequest publicKeyHashes - * @property {boolean|null} [prove] GetIdentitiesByPublicKeyHashesRequest prove - */ - - /** - * Constructs a new GetIdentitiesByPublicKeyHashesRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesByPublicKeyHashesRequest. - * @implements IGetIdentitiesByPublicKeyHashesRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest=} [properties] Properties to set - */ - function GetIdentitiesByPublicKeyHashesRequest(properties) { - this.publicKeyHashes = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetIdentitiesByPublicKeyHashesRequest publicKeyHashes. - * @member {Array.} publicKeyHashes - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @instance - */ - GetIdentitiesByPublicKeyHashesRequest.prototype.publicKeyHashes = $util.emptyArray; - - /** - * GetIdentitiesByPublicKeyHashesRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @instance - */ - GetIdentitiesByPublicKeyHashesRequest.prototype.prove = false; - - /** - * Creates a new GetIdentitiesByPublicKeyHashesRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest instance - */ - GetIdentitiesByPublicKeyHashesRequest.create = function create(properties) { - return new GetIdentitiesByPublicKeyHashesRequest(properties); - }; - - /** - * Encodes the specified GetIdentitiesByPublicKeyHashesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest} message GetIdentitiesByPublicKeyHashesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetIdentitiesByPublicKeyHashesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.publicKeyHashes != null && message.publicKeyHashes.length) - for (var i = 0; i < message.publicKeyHashes.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHashes[i]); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); - return writer; - }; - - /** - * Encodes the specified GetIdentitiesByPublicKeyHashesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesRequest} message GetIdentitiesByPublicKeyHashesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetIdentitiesByPublicKeyHashesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetIdentitiesByPublicKeyHashesRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetIdentitiesByPublicKeyHashesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.publicKeyHashes && message.publicKeyHashes.length)) - message.publicKeyHashes = []; - message.publicKeyHashes.push(reader.bytes()); - break; - case 2: - message.prove = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetIdentitiesByPublicKeyHashesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetIdentitiesByPublicKeyHashesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetIdentitiesByPublicKeyHashesRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetIdentitiesByPublicKeyHashesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.publicKeyHashes != null && message.hasOwnProperty("publicKeyHashes")) { - if (!Array.isArray(message.publicKeyHashes)) - return "publicKeyHashes: array expected"; - for (var i = 0; i < message.publicKeyHashes.length; ++i) - if (!(message.publicKeyHashes[i] && typeof message.publicKeyHashes[i].length === "number" || $util.isString(message.publicKeyHashes[i]))) - return "publicKeyHashes: buffer[] expected"; - } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; - - /** - * Creates a GetIdentitiesByPublicKeyHashesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} GetIdentitiesByPublicKeyHashesRequest - */ - GetIdentitiesByPublicKeyHashesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest(); - if (object.publicKeyHashes) { - if (!Array.isArray(object.publicKeyHashes)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.publicKeyHashes: array expected"); - message.publicKeyHashes = []; - for (var i = 0; i < object.publicKeyHashes.length; ++i) - if (typeof object.publicKeyHashes[i] === "string") - $util.base64.decode(object.publicKeyHashes[i], message.publicKeyHashes[i] = $util.newBuffer($util.base64.length(object.publicKeyHashes[i])), 0); - else if (object.publicKeyHashes[i].length >= 0) - message.publicKeyHashes[i] = object.publicKeyHashes[i]; - } - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; - - /** - * Creates a plain object from a GetIdentitiesByPublicKeyHashesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message GetIdentitiesByPublicKeyHashesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetIdentitiesByPublicKeyHashesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.publicKeyHashes = []; - if (options.defaults) - object.prove = false; - if (message.publicKeyHashes && message.publicKeyHashes.length) { - object.publicKeyHashes = []; - for (var j = 0; j < message.publicKeyHashes.length; ++j) - object.publicKeyHashes[j] = options.bytes === String ? $util.base64.encode(message.publicKeyHashes[j], 0, message.publicKeyHashes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKeyHashes[j]) : message.publicKeyHashes[j]; - } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; - - /** - * Converts this GetIdentitiesByPublicKeyHashesRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest - * @instance - * @returns {Object.} JSON object - */ - GetIdentitiesByPublicKeyHashesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetIdentitiesByPublicKeyHashesRequest; + return GetIdentitiesByPublicKeyHashesResponse; })(); - v0.GetIdentitiesByPublicKeyHashesResponse = (function() { + v0.GetIdentityByPublicKeyHashRequest = (function() { /** - * Properties of a GetIdentitiesByPublicKeyHashesResponse. + * Properties of a GetIdentityByPublicKeyHashRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesByPublicKeyHashesResponse - * @property {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentities|null} [identities] GetIdentitiesByPublicKeyHashesResponse identities - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesByPublicKeyHashesResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesByPublicKeyHashesResponse metadata + * @interface IGetIdentityByPublicKeyHashRequest + * @property {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0|null} [v0] GetIdentityByPublicKeyHashRequest v0 */ /** - * Constructs a new GetIdentitiesByPublicKeyHashesResponse. + * Constructs a new GetIdentityByPublicKeyHashRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesByPublicKeyHashesResponse. - * @implements IGetIdentitiesByPublicKeyHashesResponse + * @classdesc Represents a GetIdentityByPublicKeyHashRequest. + * @implements IGetIdentityByPublicKeyHashRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest=} [properties] Properties to set */ - function GetIdentitiesByPublicKeyHashesResponse(properties) { + function GetIdentityByPublicKeyHashRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -12590,115 +16741,89 @@ $root.org = (function() { } /** - * GetIdentitiesByPublicKeyHashesResponse identities. - * @member {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentities|null|undefined} identities - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse - * @instance - */ - GetIdentitiesByPublicKeyHashesResponse.prototype.identities = null; - - /** - * GetIdentitiesByPublicKeyHashesResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse - * @instance - */ - GetIdentitiesByPublicKeyHashesResponse.prototype.proof = null; - - /** - * GetIdentitiesByPublicKeyHashesResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * GetIdentityByPublicKeyHashRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @instance */ - GetIdentitiesByPublicKeyHashesResponse.prototype.metadata = null; + GetIdentityByPublicKeyHashRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesByPublicKeyHashesResponse result. - * @member {"identities"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * GetIdentityByPublicKeyHashRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @instance */ - Object.defineProperty(GetIdentitiesByPublicKeyHashesResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["identities", "proof"]), + Object.defineProperty(GetIdentityByPublicKeyHashRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesByPublicKeyHashesResponse instance using the specified properties. + * Creates a new GetIdentityByPublicKeyHashRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest instance */ - GetIdentitiesByPublicKeyHashesResponse.create = function create(properties) { - return new GetIdentitiesByPublicKeyHashesResponse(properties); + GetIdentityByPublicKeyHashRequest.create = function create(properties) { + return new GetIdentityByPublicKeyHashRequest(properties); }; /** - * Encodes the specified GetIdentitiesByPublicKeyHashesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse} message GetIdentitiesByPublicKeyHashesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesByPublicKeyHashesResponse.encode = function encode(message, writer) { + GetIdentityByPublicKeyHashRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identities != null && Object.hasOwnProperty.call(message, "identities")) - $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.encode(message.identities, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesByPublicKeyHashesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesByPublicKeyHashesResponse} message GetIdentitiesByPublicKeyHashesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesByPublicKeyHashesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByPublicKeyHashRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesByPublicKeyHashesResponse message from the specified reader or buffer. + * Decodes a GetIdentityByPublicKeyHashRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesByPublicKeyHashesResponse.decode = function decode(reader, length) { + GetIdentityByPublicKeyHashRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -12709,149 +16834,115 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesByPublicKeyHashesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByPublicKeyHashRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesByPublicKeyHashesResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByPublicKeyHashRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesByPublicKeyHashesResponse message. + * Verifies a GetIdentityByPublicKeyHashRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesByPublicKeyHashesResponse.verify = function verify(message) { + GetIdentityByPublicKeyHashRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.identities != null && message.hasOwnProperty("identities")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.verify(message.identities); - if (error) - return "identities." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; /** - * Creates a GetIdentitiesByPublicKeyHashesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByPublicKeyHashRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} GetIdentitiesByPublicKeyHashesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} GetIdentityByPublicKeyHashRequest */ - GetIdentitiesByPublicKeyHashesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse) + GetIdentityByPublicKeyHashRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse(); - if (object.identities != null) { - if (typeof object.identities !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.identities: object expected"); - message.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.fromObject(object.identities); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentitiesByPublicKeyHashesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByPublicKeyHashRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message GetIdentitiesByPublicKeyHashesResponse + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message GetIdentityByPublicKeyHashRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesByPublicKeyHashesResponse.toObject = function toObject(message, options) { + GetIdentityByPublicKeyHashRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.identities != null && message.hasOwnProperty("identities")) { - object.identities = $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.toObject(message.identities, options); - if (options.oneofs) - object.result = "identities"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(message.v0, options); if (options.oneofs) - object.result = "proof"; + object.version = "v0"; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; }; /** - * Converts this GetIdentitiesByPublicKeyHashesResponse to JSON. + * Converts this GetIdentityByPublicKeyHashRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest * @instance * @returns {Object.} JSON object */ - GetIdentitiesByPublicKeyHashesResponse.prototype.toJSON = function toJSON() { + GetIdentityByPublicKeyHashRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesByPublicKeyHashesResponse.Identities = (function() { + GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 = (function() { /** - * Properties of an Identities. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse - * @interface IIdentities - * @property {Array.|null} [identities] Identities identities + * Properties of a GetIdentityByPublicKeyHashRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @interface IGetIdentityByPublicKeyHashRequestV0 + * @property {Uint8Array|null} [publicKeyHash] GetIdentityByPublicKeyHashRequestV0 publicKeyHash + * @property {boolean|null} [prove] GetIdentityByPublicKeyHashRequestV0 prove */ /** - * Constructs a new Identities. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse - * @classdesc Represents an Identities. - * @implements IIdentities + * Constructs a new GetIdentityByPublicKeyHashRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest + * @classdesc Represents a GetIdentityByPublicKeyHashRequestV0. + * @implements IGetIdentityByPublicKeyHashRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentities=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0=} [properties] Properties to set */ - function Identities(properties) { - this.identities = []; + function GetIdentityByPublicKeyHashRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -12859,78 +16950,88 @@ $root.org = (function() { } /** - * Identities identities. - * @member {Array.} identities - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * GetIdentityByPublicKeyHashRequestV0 publicKeyHash. + * @member {Uint8Array} publicKeyHash + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @instance */ - Identities.prototype.identities = $util.emptyArray; + GetIdentityByPublicKeyHashRequestV0.prototype.publicKeyHash = $util.newBuffer([]); /** - * Creates a new Identities instance using the specified properties. + * GetIdentityByPublicKeyHashRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 + * @instance + */ + GetIdentityByPublicKeyHashRequestV0.prototype.prove = false; + + /** + * Creates a new GetIdentityByPublicKeyHashRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentities=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} Identities instance + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 instance */ - Identities.create = function create(properties) { - return new Identities(properties); + GetIdentityByPublicKeyHashRequestV0.create = function create(properties) { + return new GetIdentityByPublicKeyHashRequestV0(properties); }; /** - * Encodes the specified Identities message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentities} message Identities message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Identities.encode = function encode(message, writer) { + GetIdentityByPublicKeyHashRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identities != null && message.identities.length) - for (var i = 0; i < message.identities.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identities[i]); + if (message.publicKeyHash != null && Object.hasOwnProperty.call(message, "publicKeyHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHash); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified Identities message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IIdentities} message Identities message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.IGetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Identities.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByPublicKeyHashRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Identities message from the specified reader or buffer. + * Decodes a GetIdentityByPublicKeyHashRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} Identities + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Identities.decode = function decode(reader, length) { + GetIdentityByPublicKeyHashRequestV0.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.identities && message.identities.length)) - message.identities = []; - message.identities.push(reader.bytes()); + message.publicKeyHash = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -12941,126 +17042,128 @@ $root.org = (function() { }; /** - * Decodes an Identities message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByPublicKeyHashRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} Identities + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Identities.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByPublicKeyHashRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Identities message. + * Verifies a GetIdentityByPublicKeyHashRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Identities.verify = function verify(message) { + GetIdentityByPublicKeyHashRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identities != null && message.hasOwnProperty("identities")) { - if (!Array.isArray(message.identities)) - return "identities: array expected"; - for (var i = 0; i < message.identities.length; ++i) - if (!(message.identities[i] && typeof message.identities[i].length === "number" || $util.isString(message.identities[i]))) - return "identities: buffer[] expected"; - } + if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) + if (!(message.publicKeyHash && typeof message.publicKeyHash.length === "number" || $util.isString(message.publicKeyHash))) + return "publicKeyHash: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates an Identities message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByPublicKeyHashRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} Identities + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} GetIdentityByPublicKeyHashRequestV0 */ - Identities.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities) + GetIdentityByPublicKeyHashRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities(); - if (object.identities) { - if (!Array.isArray(object.identities)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.identities: array expected"); - message.identities = []; - for (var i = 0; i < object.identities.length; ++i) - if (typeof object.identities[i] === "string") - $util.base64.decode(object.identities[i], message.identities[i] = $util.newBuffer($util.base64.length(object.identities[i])), 0); - else if (object.identities[i].length >= 0) - message.identities[i] = object.identities[i]; - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0(); + if (object.publicKeyHash != null) + if (typeof object.publicKeyHash === "string") + $util.base64.decode(object.publicKeyHash, message.publicKeyHash = $util.newBuffer($util.base64.length(object.publicKeyHash)), 0); + else if (object.publicKeyHash.length >= 0) + message.publicKeyHash = object.publicKeyHash; + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from an Identities message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByPublicKeyHashRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} message Identities + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message GetIdentityByPublicKeyHashRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Identities.toObject = function toObject(message, options) { + GetIdentityByPublicKeyHashRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.identities = []; - if (message.identities && message.identities.length) { - object.identities = []; - for (var j = 0; j < message.identities.length; ++j) - object.identities[j] = options.bytes === String ? $util.base64.encode(message.identities[j], 0, message.identities[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.identities[j]) : message.identities[j]; + if (options.defaults) { + if (options.bytes === String) + object.publicKeyHash = ""; + else { + object.publicKeyHash = []; + if (options.bytes !== Array) + object.publicKeyHash = $util.newBuffer(object.publicKeyHash); + } + object.prove = false; } + if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) + object.publicKeyHash = options.bytes === String ? $util.base64.encode(message.publicKeyHash, 0, message.publicKeyHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKeyHash) : message.publicKeyHash; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this Identities to JSON. + * Converts this GetIdentityByPublicKeyHashRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 * @instance * @returns {Object.} JSON object */ - Identities.prototype.toJSON = function toJSON() { + GetIdentityByPublicKeyHashRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Identities; + return GetIdentityByPublicKeyHashRequestV0; })(); - return GetIdentitiesByPublicKeyHashesResponse; + return GetIdentityByPublicKeyHashRequest; })(); - v0.GetIdentityByPublicKeyHashesRequest = (function() { + v0.GetIdentityByPublicKeyHashResponse = (function() { /** - * Properties of a GetIdentityByPublicKeyHashesRequest. + * Properties of a GetIdentityByPublicKeyHashResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityByPublicKeyHashesRequest - * @property {Uint8Array|null} [publicKeyHash] GetIdentityByPublicKeyHashesRequest publicKeyHash - * @property {boolean|null} [prove] GetIdentityByPublicKeyHashesRequest prove + * @interface IGetIdentityByPublicKeyHashResponse + * @property {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0|null} [v0] GetIdentityByPublicKeyHashResponse v0 */ /** - * Constructs a new GetIdentityByPublicKeyHashesRequest. + * Constructs a new GetIdentityByPublicKeyHashResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityByPublicKeyHashesRequest. - * @implements IGetIdentityByPublicKeyHashesRequest + * @classdesc Represents a GetIdentityByPublicKeyHashResponse. + * @implements IGetIdentityByPublicKeyHashResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse=} [properties] Properties to set */ - function GetIdentityByPublicKeyHashesRequest(properties) { + function GetIdentityByPublicKeyHashResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -13068,88 +17171,89 @@ $root.org = (function() { } /** - * GetIdentityByPublicKeyHashesRequest publicKeyHash. - * @member {Uint8Array} publicKeyHash - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * GetIdentityByPublicKeyHashResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @instance */ - GetIdentityByPublicKeyHashesRequest.prototype.publicKeyHash = $util.newBuffer([]); + GetIdentityByPublicKeyHashResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetIdentityByPublicKeyHashesRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * GetIdentityByPublicKeyHashResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @instance */ - GetIdentityByPublicKeyHashesRequest.prototype.prove = false; + Object.defineProperty(GetIdentityByPublicKeyHashResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetIdentityByPublicKeyHashesRequest instance using the specified properties. + * Creates a new GetIdentityByPublicKeyHashResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} GetIdentityByPublicKeyHashesRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse instance */ - GetIdentityByPublicKeyHashesRequest.create = function create(properties) { - return new GetIdentityByPublicKeyHashesRequest(properties); + GetIdentityByPublicKeyHashResponse.create = function create(properties) { + return new GetIdentityByPublicKeyHashResponse(properties); }; /** - * Encodes the specified GetIdentityByPublicKeyHashesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesRequest} message GetIdentityByPublicKeyHashesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityByPublicKeyHashesRequest.encode = function encode(message, writer) { + GetIdentityByPublicKeyHashResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.publicKeyHash != null && Object.hasOwnProperty.call(message, "publicKeyHash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHash); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentityByPublicKeyHashesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.verify|verify} messages. + * Encodes the specified GetIdentityByPublicKeyHashResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesRequest} message GetIdentityByPublicKeyHashesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityByPublicKeyHashesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByPublicKeyHashResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityByPublicKeyHashesRequest message from the specified reader or buffer. + * Decodes a GetIdentityByPublicKeyHashResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} GetIdentityByPublicKeyHashesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityByPublicKeyHashesRequest.decode = function decode(reader, length) { + GetIdentityByPublicKeyHashResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.publicKeyHash = reader.bytes(); - break; - case 2: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -13160,375 +17264,367 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityByPublicKeyHashesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByPublicKeyHashResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} GetIdentityByPublicKeyHashesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityByPublicKeyHashesRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByPublicKeyHashResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityByPublicKeyHashesRequest message. + * Verifies a GetIdentityByPublicKeyHashResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityByPublicKeyHashesRequest.verify = function verify(message) { + GetIdentityByPublicKeyHashResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) - if (!(message.publicKeyHash && typeof message.publicKeyHash.length === "number" || $util.isString(message.publicKeyHash))) - return "publicKeyHash: buffer expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } return null; }; /** - * Creates a GetIdentityByPublicKeyHashesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByPublicKeyHashResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} GetIdentityByPublicKeyHashesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} GetIdentityByPublicKeyHashResponse */ - GetIdentityByPublicKeyHashesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest) + GetIdentityByPublicKeyHashResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest(); - if (object.publicKeyHash != null) - if (typeof object.publicKeyHash === "string") - $util.base64.decode(object.publicKeyHash, message.publicKeyHash = $util.newBuffer($util.base64.length(object.publicKeyHash)), 0); - else if (object.publicKeyHash.length >= 0) - message.publicKeyHash = object.publicKeyHash; - if (object.prove != null) - message.prove = Boolean(object.prove); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.fromObject(object.v0); + } return message; }; /** - * Creates a plain object from a GetIdentityByPublicKeyHashesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByPublicKeyHashResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} message GetIdentityByPublicKeyHashesRequest + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message GetIdentityByPublicKeyHashResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityByPublicKeyHashesRequest.toObject = function toObject(message, options) { + GetIdentityByPublicKeyHashResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.publicKeyHash = ""; - else { - object.publicKeyHash = []; - if (options.bytes !== Array) - object.publicKeyHash = $util.newBuffer(object.publicKeyHash); - } - object.prove = false; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } - if (message.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) - object.publicKeyHash = options.bytes === String ? $util.base64.encode(message.publicKeyHash, 0, message.publicKeyHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKeyHash) : message.publicKeyHash; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; return object; }; /** - * Converts this GetIdentityByPublicKeyHashesRequest to JSON. + * Converts this GetIdentityByPublicKeyHashResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse * @instance * @returns {Object.} JSON object */ - GetIdentityByPublicKeyHashesRequest.prototype.toJSON = function toJSON() { + GetIdentityByPublicKeyHashResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentityByPublicKeyHashesRequest; - })(); - - v0.GetIdentityByPublicKeyHashesResponse = (function() { + GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 = (function() { - /** - * Properties of a GetIdentityByPublicKeyHashesResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityByPublicKeyHashesResponse - * @property {Uint8Array|null} [identity] GetIdentityByPublicKeyHashesResponse identity - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityByPublicKeyHashesResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityByPublicKeyHashesResponse metadata - */ + /** + * Properties of a GetIdentityByPublicKeyHashResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @interface IGetIdentityByPublicKeyHashResponseV0 + * @property {Uint8Array|null} [identity] GetIdentityByPublicKeyHashResponseV0 identity + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityByPublicKeyHashResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityByPublicKeyHashResponseV0 metadata + */ - /** - * Constructs a new GetIdentityByPublicKeyHashesResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityByPublicKeyHashesResponse. - * @implements IGetIdentityByPublicKeyHashesResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesResponse=} [properties] Properties to set - */ - function GetIdentityByPublicKeyHashesResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new GetIdentityByPublicKeyHashResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse + * @classdesc Represents a GetIdentityByPublicKeyHashResponseV0. + * @implements IGetIdentityByPublicKeyHashResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0=} [properties] Properties to set + */ + function GetIdentityByPublicKeyHashResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * GetIdentityByPublicKeyHashesResponse identity. - * @member {Uint8Array} identity - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @instance - */ - GetIdentityByPublicKeyHashesResponse.prototype.identity = $util.newBuffer([]); + /** + * GetIdentityByPublicKeyHashResponseV0 identity. + * @member {Uint8Array} identity + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @instance + */ + GetIdentityByPublicKeyHashResponseV0.prototype.identity = $util.newBuffer([]); - /** - * GetIdentityByPublicKeyHashesResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @instance - */ - GetIdentityByPublicKeyHashesResponse.prototype.proof = null; + /** + * GetIdentityByPublicKeyHashResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @instance + */ + GetIdentityByPublicKeyHashResponseV0.prototype.proof = null; - /** - * GetIdentityByPublicKeyHashesResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @instance - */ - GetIdentityByPublicKeyHashesResponse.prototype.metadata = null; + /** + * GetIdentityByPublicKeyHashResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @instance + */ + GetIdentityByPublicKeyHashResponseV0.prototype.metadata = null; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * GetIdentityByPublicKeyHashesResponse result. - * @member {"identity"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @instance - */ - Object.defineProperty(GetIdentityByPublicKeyHashesResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * GetIdentityByPublicKeyHashResponseV0 result. + * @member {"identity"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @instance + */ + Object.defineProperty(GetIdentityByPublicKeyHashResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Creates a new GetIdentityByPublicKeyHashesResponse instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} GetIdentityByPublicKeyHashesResponse instance - */ - GetIdentityByPublicKeyHashesResponse.create = function create(properties) { - return new GetIdentityByPublicKeyHashesResponse(properties); - }; + /** + * Creates a new GetIdentityByPublicKeyHashResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 instance + */ + GetIdentityByPublicKeyHashResponseV0.create = function create(properties) { + return new GetIdentityByPublicKeyHashResponseV0(properties); + }; - /** - * Encodes the specified GetIdentityByPublicKeyHashesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesResponse} message GetIdentityByPublicKeyHashesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetIdentityByPublicKeyHashesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identity); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified GetIdentityByPublicKeyHashResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityByPublicKeyHashResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identity); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; - /** - * Encodes the specified GetIdentityByPublicKeyHashesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityByPublicKeyHashesResponse} message GetIdentityByPublicKeyHashesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetIdentityByPublicKeyHashesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified GetIdentityByPublicKeyHashResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.IGetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityByPublicKeyHashResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a GetIdentityByPublicKeyHashesResponse message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} GetIdentityByPublicKeyHashesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetIdentityByPublicKeyHashesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.identity = reader.bytes(); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a GetIdentityByPublicKeyHashResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityByPublicKeyHashResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identity = reader.bytes(); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a GetIdentityByPublicKeyHashesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} GetIdentityByPublicKeyHashesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetIdentityByPublicKeyHashesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a GetIdentityByPublicKeyHashResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityByPublicKeyHashResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a GetIdentityByPublicKeyHashesResponse message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetIdentityByPublicKeyHashesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.identity != null && message.hasOwnProperty("identity")) { - properties.result = 1; - if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity))) - return "identity: buffer expected"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + /** + * Verifies a GetIdentityByPublicKeyHashResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityByPublicKeyHashResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.identity != null && message.hasOwnProperty("identity")) { + properties.result = 1; + if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity))) + return "identity: buffer expected"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); if (error) - return "proof." + error; + return "metadata." + error; } - } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } - return null; - }; + return null; + }; - /** - * Creates a GetIdentityByPublicKeyHashesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} GetIdentityByPublicKeyHashesResponse - */ - GetIdentityByPublicKeyHashesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse) + /** + * Creates a GetIdentityByPublicKeyHashResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} GetIdentityByPublicKeyHashResponseV0 + */ + GetIdentityByPublicKeyHashResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0(); + if (object.identity != null) + if (typeof object.identity === "string") + $util.base64.decode(object.identity, message.identity = $util.newBuffer($util.base64.length(object.identity)), 0); + else if (object.identity.length >= 0) + message.identity = object.identity; + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentityByPublicKeyHashResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message GetIdentityByPublicKeyHashResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityByPublicKeyHashResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.identity != null && message.hasOwnProperty("identity")) { + object.identity = options.bytes === String ? $util.base64.encode(message.identity, 0, message.identity.length) : options.bytes === Array ? Array.prototype.slice.call(message.identity) : message.identity; + if (options.oneofs) + object.result = "identity"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse(); - if (object.identity != null) - if (typeof object.identity === "string") - $util.base64.decode(object.identity, message.identity = $util.newBuffer($util.base64.length(object.identity)), 0); - else if (object.identity.length >= 0) - message.identity = object.identity; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; + }; - /** - * Creates a plain object from a GetIdentityByPublicKeyHashesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} message GetIdentityByPublicKeyHashesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetIdentityByPublicKeyHashesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.identity != null && message.hasOwnProperty("identity")) { - object.identity = options.bytes === String ? $util.base64.encode(message.identity, 0, message.identity.length) : options.bytes === Array ? Array.prototype.slice.call(message.identity) : message.identity; - if (options.oneofs) - object.result = "identity"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + /** + * Converts this GetIdentityByPublicKeyHashResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityByPublicKeyHashResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetIdentityByPublicKeyHashesResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse - * @instance - * @returns {Object.} JSON object - */ - GetIdentityByPublicKeyHashesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return GetIdentityByPublicKeyHashResponseV0; + })(); - return GetIdentityByPublicKeyHashesResponse; + return GetIdentityByPublicKeyHashResponse; })(); v0.WaitForStateTransitionResultRequest = (function() { @@ -13537,8 +17633,7 @@ $root.org = (function() { * Properties of a WaitForStateTransitionResultRequest. * @memberof org.dash.platform.dapi.v0 * @interface IWaitForStateTransitionResultRequest - * @property {Uint8Array|null} [stateTransitionHash] WaitForStateTransitionResultRequest stateTransitionHash - * @property {boolean|null} [prove] WaitForStateTransitionResultRequest prove + * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null} [v0] WaitForStateTransitionResultRequest v0 */ /** @@ -13557,20 +17652,26 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultRequest stateTransitionHash. - * @member {Uint8Array} stateTransitionHash + * WaitForStateTransitionResultRequest v0. + * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null|undefined} v0 * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @instance */ - WaitForStateTransitionResultRequest.prototype.stateTransitionHash = $util.newBuffer([]); + WaitForStateTransitionResultRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * WaitForStateTransitionResultRequest prove. - * @member {boolean} prove + * WaitForStateTransitionResultRequest version. + * @member {"v0"|undefined} version * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @instance */ - WaitForStateTransitionResultRequest.prototype.prove = false; + Object.defineProperty(WaitForStateTransitionResultRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** * Creates a new WaitForStateTransitionResultRequest instance using the specified properties. @@ -13596,10 +17697,8 @@ $root.org = (function() { WaitForStateTransitionResultRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.stateTransitionHash != null && Object.hasOwnProperty.call(message, "stateTransitionHash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.stateTransitionHash); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -13635,10 +17734,7 @@ $root.org = (function() { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.stateTransitionHash = reader.bytes(); - break; - case 2: - message.prove = reader.bool(); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -13675,12 +17771,15 @@ $root.org = (function() { WaitForStateTransitionResultRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.stateTransitionHash != null && message.hasOwnProperty("stateTransitionHash")) - if (!(message.stateTransitionHash && typeof message.stateTransitionHash.length === "number" || $util.isString(message.stateTransitionHash))) - return "stateTransitionHash: buffer expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } return null; }; @@ -13696,56 +17795,264 @@ $root.org = (function() { if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest) return object; var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest(); - if (object.stateTransitionHash != null) - if (typeof object.stateTransitionHash === "string") - $util.base64.decode(object.stateTransitionHash, message.stateTransitionHash = $util.newBuffer($util.base64.length(object.stateTransitionHash)), 0); - else if (object.stateTransitionHash.length >= 0) - message.stateTransitionHash = object.stateTransitionHash; - if (object.prove != null) - message.prove = Boolean(object.prove); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.fromObject(object.v0); + } return message; }; - /** - * Creates a plain object from a WaitForStateTransitionResultRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest - * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - WaitForStateTransitionResultRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.stateTransitionHash = ""; - else { - object.stateTransitionHash = []; - if (options.bytes !== Array) - object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash); + /** + * Creates a plain object from a WaitForStateTransitionResultRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitForStateTransitionResultRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this WaitForStateTransitionResultRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @instance + * @returns {Object.} JSON object + */ + WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = (function() { + + /** + * Properties of a WaitForStateTransitionResultRequestV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @interface IWaitForStateTransitionResultRequestV0 + * @property {Uint8Array|null} [stateTransitionHash] WaitForStateTransitionResultRequestV0 stateTransitionHash + * @property {boolean|null} [prove] WaitForStateTransitionResultRequestV0 prove + */ + + /** + * Constructs a new WaitForStateTransitionResultRequestV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @classdesc Represents a WaitForStateTransitionResultRequestV0. + * @implements IWaitForStateTransitionResultRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set + */ + function WaitForStateTransitionResultRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WaitForStateTransitionResultRequestV0 stateTransitionHash. + * @member {Uint8Array} stateTransitionHash + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @instance + */ + WaitForStateTransitionResultRequestV0.prototype.stateTransitionHash = $util.newBuffer([]); + + /** + * WaitForStateTransitionResultRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @instance + */ + WaitForStateTransitionResultRequestV0.prototype.prove = false; + + /** + * Creates a new WaitForStateTransitionResultRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 instance + */ + WaitForStateTransitionResultRequestV0.create = function create(properties) { + return new WaitForStateTransitionResultRequestV0(properties); + }; + + /** + * Encodes the specified WaitForStateTransitionResultRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitForStateTransitionResultRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.stateTransitionHash != null && Object.hasOwnProperty.call(message, "stateTransitionHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.stateTransitionHash); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified WaitForStateTransitionResultRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitForStateTransitionResultRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitForStateTransitionResultRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.stateTransitionHash = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitForStateTransitionResultRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WaitForStateTransitionResultRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WaitForStateTransitionResultRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.stateTransitionHash != null && message.hasOwnProperty("stateTransitionHash")) + if (!(message.stateTransitionHash && typeof message.stateTransitionHash.length === "number" || $util.isString(message.stateTransitionHash))) + return "stateTransitionHash: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a WaitForStateTransitionResultRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + */ + WaitForStateTransitionResultRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0(); + if (object.stateTransitionHash != null) + if (typeof object.stateTransitionHash === "string") + $util.base64.decode(object.stateTransitionHash, message.stateTransitionHash = $util.newBuffer($util.base64.length(object.stateTransitionHash)), 0); + else if (object.stateTransitionHash.length >= 0) + message.stateTransitionHash = object.stateTransitionHash; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a WaitForStateTransitionResultRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitForStateTransitionResultRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.stateTransitionHash = ""; + else { + object.stateTransitionHash = []; + if (options.bytes !== Array) + object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash); + } + object.prove = false; } - object.prove = false; - } - if (message.stateTransitionHash != null && message.hasOwnProperty("stateTransitionHash")) - object.stateTransitionHash = options.bytes === String ? $util.base64.encode(message.stateTransitionHash, 0, message.stateTransitionHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.stateTransitionHash) : message.stateTransitionHash; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + if (message.stateTransitionHash != null && message.hasOwnProperty("stateTransitionHash")) + object.stateTransitionHash = options.bytes === String ? $util.base64.encode(message.stateTransitionHash, 0, message.stateTransitionHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.stateTransitionHash) : message.stateTransitionHash; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - /** - * Converts this WaitForStateTransitionResultRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest - * @instance - * @returns {Object.} JSON object - */ - WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this WaitForStateTransitionResultRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @instance + * @returns {Object.} JSON object + */ + WaitForStateTransitionResultRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WaitForStateTransitionResultRequestV0; + })(); return WaitForStateTransitionResultRequest; })(); @@ -13756,9 +18063,7 @@ $root.org = (function() { * Properties of a WaitForStateTransitionResultResponse. * @memberof org.dash.platform.dapi.v0 * @interface IWaitForStateTransitionResultResponse - * @property {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null} [error] WaitForStateTransitionResultResponse error - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] WaitForStateTransitionResultResponse proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] WaitForStateTransitionResultResponse metadata + * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null} [v0] WaitForStateTransitionResultResponse v0 */ /** @@ -13777,40 +18082,24 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultResponse error. - * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse - * @instance - */ - WaitForStateTransitionResultResponse.prototype.error = null; - - /** - * WaitForStateTransitionResultResponse proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse - * @instance - */ - WaitForStateTransitionResultResponse.prototype.proof = null; - - /** - * WaitForStateTransitionResultResponse metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * WaitForStateTransitionResultResponse v0. + * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null|undefined} v0 * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance */ - WaitForStateTransitionResultResponse.prototype.metadata = null; + WaitForStateTransitionResultResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * WaitForStateTransitionResultResponse result. - * @member {"error"|"proof"|undefined} result + * WaitForStateTransitionResultResponse version. + * @member {"v0"|undefined} version * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance */ - Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["error", "proof"]), + Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); @@ -13838,12 +18127,8 @@ $root.org = (function() { WaitForStateTransitionResultResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) - $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.encode(message.error, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -13879,13 +18164,7 @@ $root.org = (function() { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.decode(reader, reader.uint32()); - break; - case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); - break; - case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -13923,29 +18202,14 @@ $root.org = (function() { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.error != null && message.hasOwnProperty("error")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.verify(message.error); - if (error) - return "error." + error; - } - } - if (message.proof != null && message.hasOwnProperty("proof")) { - if (properties.result === 1) - return "result: multiple values"; - properties.result = 1; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify(message.v0); if (error) - return "proof." + error; + return "v0." + error; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); - if (error) - return "metadata." + error; - } return null; }; @@ -13961,88 +18225,340 @@ $root.org = (function() { if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse) return object; var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse(); - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.error: object expected"); - message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.fromObject(object.error); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); - } - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.fromObject(object.v0); } return message; }; - /** - * Creates a plain object from a WaitForStateTransitionResultResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse - * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - WaitForStateTransitionResultResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.error != null && message.hasOwnProperty("error")) { - object.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(message.error, options); - if (options.oneofs) - object.result = "error"; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); - if (options.oneofs) - object.result = "proof"; - } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + /** + * Creates a plain object from a WaitForStateTransitionResultResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitForStateTransitionResultResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this WaitForStateTransitionResultResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @instance + * @returns {Object.} JSON object + */ + WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = (function() { + + /** + * Properties of a WaitForStateTransitionResultResponseV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @interface IWaitForStateTransitionResultResponseV0 + * @property {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null} [error] WaitForStateTransitionResultResponseV0 error + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] WaitForStateTransitionResultResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] WaitForStateTransitionResultResponseV0 metadata + */ + + /** + * Constructs a new WaitForStateTransitionResultResponseV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @classdesc Represents a WaitForStateTransitionResultResponseV0. + * @implements IWaitForStateTransitionResultResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set + */ + function WaitForStateTransitionResultResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WaitForStateTransitionResultResponseV0 error. + * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @instance + */ + WaitForStateTransitionResultResponseV0.prototype.error = null; + + /** + * WaitForStateTransitionResultResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @instance + */ + WaitForStateTransitionResultResponseV0.prototype.proof = null; + + /** + * WaitForStateTransitionResultResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @instance + */ + WaitForStateTransitionResultResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * WaitForStateTransitionResultResponseV0 result. + * @member {"error"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @instance + */ + Object.defineProperty(WaitForStateTransitionResultResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["error", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new WaitForStateTransitionResultResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 instance + */ + WaitForStateTransitionResultResponseV0.create = function create(properties) { + return new WaitForStateTransitionResultResponseV0(properties); + }; + + /** + * Encodes the specified WaitForStateTransitionResultResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitForStateTransitionResultResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.encode(message.error, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WaitForStateTransitionResultResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitForStateTransitionResultResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitForStateTransitionResultResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitForStateTransitionResultResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WaitForStateTransitionResultResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WaitForStateTransitionResultResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.error != null && message.hasOwnProperty("error")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.verify(message.error); + if (error) + return "error." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a WaitForStateTransitionResultResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 + */ + WaitForStateTransitionResultResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0(); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.error: object expected"); + message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.fromObject(object.error); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a WaitForStateTransitionResultResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitForStateTransitionResultResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.error != null && message.hasOwnProperty("error")) { + object.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(message.error, options); + if (options.oneofs) + object.result = "error"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this WaitForStateTransitionResultResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @instance + * @returns {Object.} JSON object + */ + WaitForStateTransitionResultResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this WaitForStateTransitionResultResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse - * @instance - * @returns {Object.} JSON object - */ - WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return WaitForStateTransitionResultResponseV0; + })(); return WaitForStateTransitionResultResponse; })(); - v0.ConsensusParamsBlock = (function() { + v0.GetConsensusParamsRequest = (function() { /** - * Properties of a ConsensusParamsBlock. + * Properties of a GetConsensusParamsRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IConsensusParamsBlock - * @property {string|null} [maxBytes] ConsensusParamsBlock maxBytes - * @property {string|null} [maxGas] ConsensusParamsBlock maxGas - * @property {string|null} [timeIotaMs] ConsensusParamsBlock timeIotaMs + * @interface IGetConsensusParamsRequest + * @property {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null} [v0] GetConsensusParamsRequest v0 */ /** - * Constructs a new ConsensusParamsBlock. + * Constructs a new GetConsensusParamsRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a ConsensusParamsBlock. - * @implements IConsensusParamsBlock + * @classdesc Represents a GetConsensusParamsRequest. + * @implements IGetConsensusParamsRequest * @constructor - * @param {org.dash.platform.dapi.v0.IConsensusParamsBlock=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set */ - function ConsensusParamsBlock(properties) { + function GetConsensusParamsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -14050,101 +18566,89 @@ $root.org = (function() { } /** - * ConsensusParamsBlock maxBytes. - * @member {string} maxBytes - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * GetConsensusParamsRequest v0. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @instance */ - ConsensusParamsBlock.prototype.maxBytes = ""; + GetConsensusParamsRequest.prototype.v0 = null; - /** - * ConsensusParamsBlock maxGas. - * @member {string} maxGas - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock - * @instance - */ - ConsensusParamsBlock.prototype.maxGas = ""; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * ConsensusParamsBlock timeIotaMs. - * @member {string} timeIotaMs - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * GetConsensusParamsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @instance */ - ConsensusParamsBlock.prototype.timeIotaMs = ""; + Object.defineProperty(GetConsensusParamsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new ConsensusParamsBlock instance using the specified properties. + * Creates a new GetConsensusParamsRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.IConsensusParamsBlock=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.ConsensusParamsBlock} ConsensusParamsBlock instance + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest instance */ - ConsensusParamsBlock.create = function create(properties) { - return new ConsensusParamsBlock(properties); + GetConsensusParamsRequest.create = function create(properties) { + return new GetConsensusParamsRequest(properties); }; /** - * Encodes the specified ConsensusParamsBlock message. Does not implicitly {@link org.dash.platform.dapi.v0.ConsensusParamsBlock.verify|verify} messages. + * Encodes the specified GetConsensusParamsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ConsensusParamsBlock.encode = function encode(message, writer) { + GetConsensusParamsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.maxBytes); - if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxGas); - if (message.timeIotaMs != null && Object.hasOwnProperty.call(message, "timeIotaMs")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.timeIotaMs); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ConsensusParamsBlock message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.ConsensusParamsBlock.verify|verify} messages. + * Encodes the specified GetConsensusParamsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) { + GetConsensusParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ConsensusParamsBlock message from the specified reader or buffer. + * Decodes a GetConsensusParamsRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.ConsensusParamsBlock} ConsensusParamsBlock + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConsensusParamsBlock.decode = function decode(reader, length) { + GetConsensusParamsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.ConsensusParamsBlock(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.maxBytes = reader.string(); - break; - case 2: - message.maxGas = reader.string(); - break; - case 3: - message.timeIotaMs = reader.string(); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -14155,126 +18659,327 @@ $root.org = (function() { }; /** - * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited. + * Decodes a GetConsensusParamsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.ConsensusParamsBlock} ConsensusParamsBlock + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) { + GetConsensusParamsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ConsensusParamsBlock message. + * Verifies a GetConsensusParamsRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ConsensusParamsBlock.verify = function verify(message) { + GetConsensusParamsRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isString(message.maxBytes)) - return "maxBytes: string expected"; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (!$util.isString(message.maxGas)) - return "maxGas: string expected"; - if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) - if (!$util.isString(message.timeIotaMs)) - return "timeIotaMs: string expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } return null; }; /** - * Creates a ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types. + * Creates a GetConsensusParamsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.ConsensusParamsBlock} ConsensusParamsBlock + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest */ - ConsensusParamsBlock.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.ConsensusParamsBlock) + GetConsensusParamsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.ConsensusParamsBlock(); - if (object.maxBytes != null) - message.maxBytes = String(object.maxBytes); - if (object.maxGas != null) - message.maxGas = String(object.maxGas); - if (object.timeIotaMs != null) - message.timeIotaMs = String(object.timeIotaMs); + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.fromObject(object.v0); + } return message; }; /** - * Creates a plain object from a ConsensusParamsBlock message. Also converts values to other types if specified. + * Creates a plain object from a GetConsensusParamsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @static - * @param {org.dash.platform.dapi.v0.ConsensusParamsBlock} message ConsensusParamsBlock + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest} message GetConsensusParamsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ConsensusParamsBlock.toObject = function toObject(message, options) { + GetConsensusParamsRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.maxBytes = ""; - object.maxGas = ""; - object.timeIotaMs = ""; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - object.maxBytes = message.maxBytes; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - object.maxGas = message.maxGas; - if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) - object.timeIotaMs = message.timeIotaMs; return object; }; /** - * Converts this ConsensusParamsBlock to JSON. + * Converts this GetConsensusParamsRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest * @instance * @returns {Object.} JSON object */ - ConsensusParamsBlock.prototype.toJSON = function toJSON() { + GetConsensusParamsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ConsensusParamsBlock; + GetConsensusParamsRequest.GetConsensusParamsRequestV0 = (function() { + + /** + * Properties of a GetConsensusParamsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @interface IGetConsensusParamsRequestV0 + * @property {number|null} [height] GetConsensusParamsRequestV0 height + * @property {boolean|null} [prove] GetConsensusParamsRequestV0 prove + */ + + /** + * Constructs a new GetConsensusParamsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @classdesc Represents a GetConsensusParamsRequestV0. + * @implements IGetConsensusParamsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set + */ + function GetConsensusParamsRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetConsensusParamsRequestV0 height. + * @member {number} height + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @instance + */ + GetConsensusParamsRequestV0.prototype.height = 0; + + /** + * GetConsensusParamsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @instance + */ + GetConsensusParamsRequestV0.prototype.prove = false; + + /** + * Creates a new GetConsensusParamsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 instance + */ + GetConsensusParamsRequestV0.create = function create(properties) { + return new GetConsensusParamsRequestV0(properties); + }; + + /** + * Encodes the specified GetConsensusParamsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsensusParamsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.height); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetConsensusParamsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsensusParamsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsensusParamsRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int32(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsensusParamsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetConsensusParamsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetConsensusParamsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetConsensusParamsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + */ + GetConsensusParamsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0(); + if (object.height != null) + message.height = object.height | 0; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetConsensusParamsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetConsensusParamsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.height = 0; + object.prove = false; + } + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetConsensusParamsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetConsensusParamsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetConsensusParamsRequestV0; + })(); + + return GetConsensusParamsRequest; })(); - v0.ConsensusParamsEvidence = (function() { + v0.GetConsensusParamsResponse = (function() { /** - * Properties of a ConsensusParamsEvidence. + * Properties of a GetConsensusParamsResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IConsensusParamsEvidence - * @property {string|null} [maxAgeNumBlocks] ConsensusParamsEvidence maxAgeNumBlocks - * @property {string|null} [maxAgeDuration] ConsensusParamsEvidence maxAgeDuration - * @property {string|null} [maxBytes] ConsensusParamsEvidence maxBytes + * @interface IGetConsensusParamsResponse + * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null} [v0] GetConsensusParamsResponse v0 */ /** - * Constructs a new ConsensusParamsEvidence. + * Constructs a new GetConsensusParamsResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a ConsensusParamsEvidence. - * @implements IConsensusParamsEvidence + * @classdesc Represents a GetConsensusParamsResponse. + * @implements IGetConsensusParamsResponse * @constructor - * @param {org.dash.platform.dapi.v0.IConsensusParamsEvidence=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set */ - function ConsensusParamsEvidence(properties) { + function GetConsensusParamsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -14282,101 +18987,89 @@ $root.org = (function() { } /** - * ConsensusParamsEvidence maxAgeNumBlocks. - * @member {string} maxAgeNumBlocks - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * GetConsensusParamsResponse v0. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance */ - ConsensusParamsEvidence.prototype.maxAgeNumBlocks = ""; + GetConsensusParamsResponse.prototype.v0 = null; - /** - * ConsensusParamsEvidence maxAgeDuration. - * @member {string} maxAgeDuration - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence - * @instance - */ - ConsensusParamsEvidence.prototype.maxAgeDuration = ""; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * ConsensusParamsEvidence maxBytes. - * @member {string} maxBytes - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * GetConsensusParamsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance */ - ConsensusParamsEvidence.prototype.maxBytes = ""; + Object.defineProperty(GetConsensusParamsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new ConsensusParamsEvidence instance using the specified properties. + * Creates a new GetConsensusParamsResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IConsensusParamsEvidence=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.ConsensusParamsEvidence} ConsensusParamsEvidence instance + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse instance */ - ConsensusParamsEvidence.create = function create(properties) { - return new ConsensusParamsEvidence(properties); + GetConsensusParamsResponse.create = function create(properties) { + return new GetConsensusParamsResponse(properties); }; /** - * Encodes the specified ConsensusParamsEvidence message. Does not implicitly {@link org.dash.platform.dapi.v0.ConsensusParamsEvidence.verify|verify} messages. + * Encodes the specified GetConsensusParamsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IConsensusParamsEvidence} message ConsensusParamsEvidence message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ConsensusParamsEvidence.encode = function encode(message, writer) { + GetConsensusParamsResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.maxAgeNumBlocks != null && Object.hasOwnProperty.call(message, "maxAgeNumBlocks")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.maxAgeNumBlocks); - if (message.maxAgeDuration != null && Object.hasOwnProperty.call(message, "maxAgeDuration")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxAgeDuration); - if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.maxBytes); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ConsensusParamsEvidence message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.ConsensusParamsEvidence.verify|verify} messages. + * Encodes the specified GetConsensusParamsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IConsensusParamsEvidence} message ConsensusParamsEvidence message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ConsensusParamsEvidence.encodeDelimited = function encodeDelimited(message, writer) { + GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ConsensusParamsEvidence message from the specified reader or buffer. + * Decodes a GetConsensusParamsResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.ConsensusParamsEvidence} ConsensusParamsEvidence + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConsensusParamsEvidence.decode = function decode(reader, length) { + GetConsensusParamsResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.maxAgeNumBlocks = reader.string(); - break; - case 2: - message.maxAgeDuration = reader.string(); - break; - case 3: - message.maxBytes = reader.string(); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -14387,546 +19080,779 @@ $root.org = (function() { }; /** - * Decodes a ConsensusParamsEvidence message from the specified reader or buffer, length delimited. + * Decodes a GetConsensusParamsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.ConsensusParamsEvidence} ConsensusParamsEvidence + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConsensusParamsEvidence.decodeDelimited = function decodeDelimited(reader) { + GetConsensusParamsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ConsensusParamsEvidence message. + * Verifies a GetConsensusParamsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ConsensusParamsEvidence.verify = function verify(message) { + GetConsensusParamsResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - if (!$util.isString(message.maxAgeNumBlocks)) - return "maxAgeNumBlocks: string expected"; - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) - if (!$util.isString(message.maxAgeDuration)) - return "maxAgeDuration: string expected"; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isString(message.maxBytes)) - return "maxBytes: string expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } return null; }; /** - * Creates a ConsensusParamsEvidence message from a plain object. Also converts values to their respective internal types. + * Creates a GetConsensusParamsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.ConsensusParamsEvidence} ConsensusParamsEvidence + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse */ - ConsensusParamsEvidence.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence) + GetConsensusParamsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence(); - if (object.maxAgeNumBlocks != null) - message.maxAgeNumBlocks = String(object.maxAgeNumBlocks); - if (object.maxAgeDuration != null) - message.maxAgeDuration = String(object.maxAgeDuration); - if (object.maxBytes != null) - message.maxBytes = String(object.maxBytes); + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.fromObject(object.v0); + } return message; }; /** - * Creates a plain object from a ConsensusParamsEvidence message. Also converts values to other types if specified. + * Creates a plain object from a GetConsensusParamsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.ConsensusParamsEvidence} message ConsensusParamsEvidence + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ConsensusParamsEvidence.toObject = function toObject(message, options) { + GetConsensusParamsResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.maxAgeNumBlocks = ""; - object.maxAgeDuration = ""; - object.maxBytes = ""; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; } - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - object.maxAgeNumBlocks = message.maxAgeNumBlocks; - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) - object.maxAgeDuration = message.maxAgeDuration; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - object.maxBytes = message.maxBytes; return object; }; /** - * Converts this ConsensusParamsEvidence to JSON. + * Converts this GetConsensusParamsResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.ConsensusParamsEvidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance * @returns {Object.} JSON object */ - ConsensusParamsEvidence.prototype.toJSON = function toJSON() { + GetConsensusParamsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ConsensusParamsEvidence; - })(); + GetConsensusParamsResponse.ConsensusParamsBlock = (function() { - v0.GetConsensusParamsRequest = (function() { + /** + * Properties of a ConsensusParamsBlock. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @interface IConsensusParamsBlock + * @property {string|null} [maxBytes] ConsensusParamsBlock maxBytes + * @property {string|null} [maxGas] ConsensusParamsBlock maxGas + * @property {string|null} [timeIotaMs] ConsensusParamsBlock timeIotaMs + */ - /** - * Properties of a GetConsensusParamsRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetConsensusParamsRequest - * @property {number|Long|null} [height] GetConsensusParamsRequest height - * @property {boolean|null} [prove] GetConsensusParamsRequest prove - */ + /** + * Constructs a new ConsensusParamsBlock. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @classdesc Represents a ConsensusParamsBlock. + * @implements IConsensusParamsBlock + * @constructor + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set + */ + function ConsensusParamsBlock(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new GetConsensusParamsRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetConsensusParamsRequest. - * @implements IGetConsensusParamsRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set - */ - function GetConsensusParamsRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * ConsensusParamsBlock maxBytes. + * @member {string} maxBytes + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @instance + */ + ConsensusParamsBlock.prototype.maxBytes = ""; - /** - * GetConsensusParamsRequest height. - * @member {number|Long} height - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @instance - */ - GetConsensusParamsRequest.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * ConsensusParamsBlock maxGas. + * @member {string} maxGas + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @instance + */ + ConsensusParamsBlock.prototype.maxGas = ""; - /** - * GetConsensusParamsRequest prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @instance - */ - GetConsensusParamsRequest.prototype.prove = false; + /** + * ConsensusParamsBlock timeIotaMs. + * @member {string} timeIotaMs + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @instance + */ + ConsensusParamsBlock.prototype.timeIotaMs = ""; - /** - * Creates a new GetConsensusParamsRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest instance - */ - GetConsensusParamsRequest.create = function create(properties) { - return new GetConsensusParamsRequest(properties); - }; + /** + * Creates a new ConsensusParamsBlock instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock instance + */ + ConsensusParamsBlock.create = function create(properties) { + return new ConsensusParamsBlock(properties); + }; - /** - * Encodes the specified GetConsensusParamsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetConsensusParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); - return writer; - }; + /** + * Encodes the specified ConsensusParamsBlock message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsBlock.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.maxBytes); + if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxGas); + if (message.timeIotaMs != null && Object.hasOwnProperty.call(message, "timeIotaMs")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.timeIotaMs); + return writer; + }; + + /** + * Encodes the specified ConsensusParamsBlock message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConsensusParamsBlock message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsBlock.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxBytes = reader.string(); + break; + case 2: + message.maxGas = reader.string(); + break; + case 3: + message.timeIotaMs = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConsensusParamsBlock message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsensusParamsBlock.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (!$util.isString(message.maxBytes)) + return "maxBytes: string expected"; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + if (!$util.isString(message.maxGas)) + return "maxGas: string expected"; + if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) + if (!$util.isString(message.timeIotaMs)) + return "timeIotaMs: string expected"; + return null; + }; + + /** + * Creates a ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + */ + ConsensusParamsBlock.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock(); + if (object.maxBytes != null) + message.maxBytes = String(object.maxBytes); + if (object.maxGas != null) + message.maxGas = String(object.maxGas); + if (object.timeIotaMs != null) + message.timeIotaMs = String(object.timeIotaMs); + return message; + }; + + /** + * Creates a plain object from a ConsensusParamsBlock message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message ConsensusParamsBlock + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsensusParamsBlock.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.maxBytes = ""; + object.maxGas = ""; + object.timeIotaMs = ""; + } + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + object.maxBytes = message.maxBytes; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + object.maxGas = message.maxGas; + if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) + object.timeIotaMs = message.timeIotaMs; + return object; + }; + + /** + * Converts this ConsensusParamsBlock to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @instance + * @returns {Object.} JSON object + */ + ConsensusParamsBlock.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ConsensusParamsBlock; + })(); + + GetConsensusParamsResponse.ConsensusParamsEvidence = (function() { + + /** + * Properties of a ConsensusParamsEvidence. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @interface IConsensusParamsEvidence + * @property {string|null} [maxAgeNumBlocks] ConsensusParamsEvidence maxAgeNumBlocks + * @property {string|null} [maxAgeDuration] ConsensusParamsEvidence maxAgeDuration + * @property {string|null} [maxBytes] ConsensusParamsEvidence maxBytes + */ + + /** + * Constructs a new ConsensusParamsEvidence. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @classdesc Represents a ConsensusParamsEvidence. + * @implements IConsensusParamsEvidence + * @constructor + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set + */ + function ConsensusParamsEvidence(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConsensusParamsEvidence maxAgeNumBlocks. + * @member {string} maxAgeNumBlocks + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @instance + */ + ConsensusParamsEvidence.prototype.maxAgeNumBlocks = ""; + + /** + * ConsensusParamsEvidence maxAgeDuration. + * @member {string} maxAgeDuration + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @instance + */ + ConsensusParamsEvidence.prototype.maxAgeDuration = ""; + + /** + * ConsensusParamsEvidence maxBytes. + * @member {string} maxBytes + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @instance + */ + ConsensusParamsEvidence.prototype.maxBytes = ""; - /** - * Encodes the specified GetConsensusParamsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetConsensusParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a new ConsensusParamsEvidence instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence instance + */ + ConsensusParamsEvidence.create = function create(properties) { + return new ConsensusParamsEvidence(properties); + }; - /** - * Decodes a GetConsensusParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetConsensusParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - case 2: - message.prove = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Encodes the specified ConsensusParamsEvidence message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence} message ConsensusParamsEvidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsEvidence.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.maxAgeNumBlocks != null && Object.hasOwnProperty.call(message, "maxAgeNumBlocks")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.maxAgeNumBlocks); + if (message.maxAgeDuration != null && Object.hasOwnProperty.call(message, "maxAgeDuration")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxAgeDuration); + if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.maxBytes); + return writer; + }; + + /** + * Encodes the specified ConsensusParamsEvidence message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence} message ConsensusParamsEvidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsEvidence.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConsensusParamsEvidence message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsEvidence.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxAgeNumBlocks = reader.string(); + break; + case 2: + message.maxAgeDuration = reader.string(); + break; + case 3: + message.maxBytes = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a GetConsensusParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetConsensusParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a ConsensusParamsEvidence message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsEvidence.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a GetConsensusParamsRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetConsensusParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; + /** + * Verifies a ConsensusParamsEvidence message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsensusParamsEvidence.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) + if (!$util.isString(message.maxAgeNumBlocks)) + return "maxAgeNumBlocks: string expected"; + if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) + if (!$util.isString(message.maxAgeDuration)) + return "maxAgeDuration: string expected"; + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (!$util.isString(message.maxBytes)) + return "maxBytes: string expected"; + return null; + }; - /** - * Creates a GetConsensusParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest - */ - GetConsensusParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; + /** + * Creates a ConsensusParamsEvidence message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence + */ + ConsensusParamsEvidence.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence(); + if (object.maxAgeNumBlocks != null) + message.maxAgeNumBlocks = String(object.maxAgeNumBlocks); + if (object.maxAgeDuration != null) + message.maxAgeDuration = String(object.maxAgeDuration); + if (object.maxBytes != null) + message.maxBytes = String(object.maxBytes); + return message; + }; - /** - * Creates a plain object from a GetConsensusParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest} message GetConsensusParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetConsensusParamsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.prove = false; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + /** + * Creates a plain object from a ConsensusParamsEvidence message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message ConsensusParamsEvidence + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsensusParamsEvidence.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.maxAgeNumBlocks = ""; + object.maxAgeDuration = ""; + object.maxBytes = ""; + } + if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) + object.maxAgeNumBlocks = message.maxAgeNumBlocks; + if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) + object.maxAgeDuration = message.maxAgeDuration; + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + object.maxBytes = message.maxBytes; + return object; + }; - /** - * Converts this GetConsensusParamsRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @instance - * @returns {Object.} JSON object - */ - GetConsensusParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this ConsensusParamsEvidence to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence + * @instance + * @returns {Object.} JSON object + */ + ConsensusParamsEvidence.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GetConsensusParamsRequest; - })(); + return ConsensusParamsEvidence; + })(); - v0.GetConsensusParamsResponse = (function() { + GetConsensusParamsResponse.GetConsensusParamsResponseV0 = (function() { - /** - * Properties of a GetConsensusParamsResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetConsensusParamsResponse - * @property {org.dash.platform.dapi.v0.IConsensusParamsBlock|null} [block] GetConsensusParamsResponse block - * @property {org.dash.platform.dapi.v0.IConsensusParamsEvidence|null} [evidence] GetConsensusParamsResponse evidence - */ + /** + * Properties of a GetConsensusParamsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @interface IGetConsensusParamsResponseV0 + * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock|null} [block] GetConsensusParamsResponseV0 block + * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence|null} [evidence] GetConsensusParamsResponseV0 evidence + */ - /** - * Constructs a new GetConsensusParamsResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetConsensusParamsResponse. - * @implements IGetConsensusParamsResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set - */ - function GetConsensusParamsResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new GetConsensusParamsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @classdesc Represents a GetConsensusParamsResponseV0. + * @implements IGetConsensusParamsResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0=} [properties] Properties to set + */ + function GetConsensusParamsResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * GetConsensusParamsResponse block. - * @member {org.dash.platform.dapi.v0.IConsensusParamsBlock|null|undefined} block - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @instance - */ - GetConsensusParamsResponse.prototype.block = null; + /** + * GetConsensusParamsResponseV0 block. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock|null|undefined} block + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @instance + */ + GetConsensusParamsResponseV0.prototype.block = null; - /** - * GetConsensusParamsResponse evidence. - * @member {org.dash.platform.dapi.v0.IConsensusParamsEvidence|null|undefined} evidence - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @instance - */ - GetConsensusParamsResponse.prototype.evidence = null; + /** + * GetConsensusParamsResponseV0 evidence. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence|null|undefined} evidence + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @instance + */ + GetConsensusParamsResponseV0.prototype.evidence = null; - /** - * Creates a new GetConsensusParamsResponse instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse instance - */ - GetConsensusParamsResponse.create = function create(properties) { - return new GetConsensusParamsResponse(properties); - }; + /** + * Creates a new GetConsensusParamsResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 instance + */ + GetConsensusParamsResponseV0.create = function create(properties) { + return new GetConsensusParamsResponseV0(properties); + }; - /** - * Encodes the specified GetConsensusParamsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetConsensusParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - $root.org.dash.platform.dapi.v0.ConsensusParamsBlock.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) - $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified GetConsensusParamsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsensusParamsResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) + $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; - /** - * Encodes the specified GetConsensusParamsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified GetConsensusParamsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsensusParamsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a GetConsensusParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetConsensusParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.block = $root.org.dash.platform.dapi.v0.ConsensusParamsBlock.decode(reader, reader.uint32()); - break; - case 2: - message.evidence = $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a GetConsensusParamsResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsensusParamsResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.decode(reader, reader.uint32()); + break; + case 2: + message.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a GetConsensusParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetConsensusParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a GetConsensusParamsResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsensusParamsResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a GetConsensusParamsResponse message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetConsensusParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.block != null && message.hasOwnProperty("block")) { - var error = $root.org.dash.platform.dapi.v0.ConsensusParamsBlock.verify(message.block); - if (error) - return "block." + error; - } - if (message.evidence != null && message.hasOwnProperty("evidence")) { - var error = $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence.verify(message.evidence); - if (error) - return "evidence." + error; - } - return null; - }; + /** + * Verifies a GetConsensusParamsResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetConsensusParamsResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.block != null && message.hasOwnProperty("block")) { + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify(message.block); + if (error) + return "block." + error; + } + if (message.evidence != null && message.hasOwnProperty("evidence")) { + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.verify(message.evidence); + if (error) + return "evidence." + error; + } + return null; + }; - /** - * Creates a GetConsensusParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse - */ - GetConsensusParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse) + /** + * Creates a GetConsensusParamsResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + */ + GetConsensusParamsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0(); + if (object.block != null) { + if (typeof object.block !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.block: object expected"); + message.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.fromObject(object.block); + } + if (object.evidence != null) { + if (typeof object.evidence !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.evidence: object expected"); + message.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.fromObject(object.evidence); + } + return message; + }; + + /** + * Creates a plain object from a GetConsensusParamsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetConsensusParamsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.block = null; + object.evidence = null; + } + if (message.block != null && message.hasOwnProperty("block")) + object.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(message.block, options); + if (message.evidence != null && message.hasOwnProperty("evidence")) + object.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(message.evidence, options); return object; - var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse(); - if (object.block != null) { - if (typeof object.block !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.block: object expected"); - message.block = $root.org.dash.platform.dapi.v0.ConsensusParamsBlock.fromObject(object.block); - } - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetConsensusParamsResponse.evidence: object expected"); - message.evidence = $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence.fromObject(object.evidence); - } - return message; - }; + }; - /** - * Creates a plain object from a GetConsensusParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetConsensusParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.block = null; - object.evidence = null; - } - if (message.block != null && message.hasOwnProperty("block")) - object.block = $root.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject(message.block, options); - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject(message.evidence, options); - return object; - }; + /** + * Converts this GetConsensusParamsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetConsensusParamsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetConsensusParamsResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @instance - * @returns {Object.} JSON object - */ - GetConsensusParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return GetConsensusParamsResponseV0; + })(); return GetConsensusParamsResponse; })(); diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js index bedfc1c41d..709bb14fb2 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js @@ -24,68 +24,114 @@ goog.object.extend(proto, google_protobuf_timestamp_pb); goog.exportSymbol('proto.org.dash.platform.dapi.v0.AllKeys', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.ConsensusParamsBlock', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.Proof', null, { proto }); @@ -96,8 +142,12 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindReque goog.exportSymbol('proto.org.dash.platform.dapi.v0.SpecificKeys', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase', null, { proto }); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -214,7 +264,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.org.dash.platform.dapi.v0.GetIdentityRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_); }; goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -234,16 +284,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -255,16 +305,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest'; } /** * Generated by JsPbCodeGenerator. @@ -276,16 +326,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -297,16 +347,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest'; } /** * Generated by JsPbCodeGenerator. @@ -318,16 +368,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -339,16 +389,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities'; + proto.org.dash.platform.dapi.v0.GetIdentityResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityResponse'; } /** * Generated by JsPbCodeGenerator. @@ -360,16 +410,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -381,16 +431,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse'; + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesRequest'; } /** * Generated by JsPbCodeGenerator. @@ -402,16 +452,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision'; + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -423,16 +473,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.KeyRequestType = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.KeyRequestType, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.KeyRequestType.displayName = 'proto.org.dash.platform.dapi.v0.KeyRequestType'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse'; } /** * Generated by JsPbCodeGenerator. @@ -444,16 +494,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.AllKeys = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.AllKeys, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.AllKeys.displayName = 'proto.org.dash.platform.dapi.v0.AllKeys'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue'; } /** * Generated by JsPbCodeGenerator. @@ -465,16 +515,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.SpecificKeys = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.SpecificKeys, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.SpecificKeys.displayName = 'proto.org.dash.platform.dapi.v0.SpecificKeys'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry'; } /** * Generated by JsPbCodeGenerator. @@ -486,16 +536,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.SearchKey = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.SearchKey, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.SearchKey.displayName = 'proto.org.dash.platform.dapi.v0.SearchKey'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities'; } /** * Generated by JsPbCodeGenerator. @@ -507,16 +557,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.SecurityLevelMap, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.SecurityLevelMap.displayName = 'proto.org.dash.platform.dapi.v0.SecurityLevelMap'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -528,16 +578,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse'; } /** * Generated by JsPbCodeGenerator. @@ -549,16 +599,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -570,16 +620,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse'; } /** * Generated by JsPbCodeGenerator. @@ -591,16 +641,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -612,16 +662,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision'; } /** * Generated by JsPbCodeGenerator. @@ -633,16 +683,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.KeyRequestType = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.KeyRequestType, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse'; + proto.org.dash.platform.dapi.v0.KeyRequestType.displayName = 'proto.org.dash.platform.dapi.v0.KeyRequestType'; } /** * Generated by JsPbCodeGenerator. @@ -654,16 +704,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey = function(opt_data) { +proto.org.dash.platform.dapi.v0.AllKeys = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.AllKeys, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey'; + proto.org.dash.platform.dapi.v0.AllKeys.displayName = 'proto.org.dash.platform.dapi.v0.AllKeys'; } /** * Generated by JsPbCodeGenerator. @@ -675,16 +725,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.SpecificKeys = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.SpecificKeys, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry'; + proto.org.dash.platform.dapi.v0.SpecificKeys.displayName = 'proto.org.dash.platform.dapi.v0.SpecificKeys'; } /** * Generated by JsPbCodeGenerator. @@ -696,16 +746,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.SearchKey = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.SearchKey, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries'; + proto.org.dash.platform.dapi.v0.SearchKey.displayName = 'proto.org.dash.platform.dapi.v0.SearchKey'; } /** * Generated by JsPbCodeGenerator. @@ -717,16 +767,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetProofsRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.SecurityLevelMap = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.SecurityLevelMap, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest'; + proto.org.dash.platform.dapi.v0.SecurityLevelMap.displayName = 'proto.org.dash.platform.dapi.v0.SecurityLevelMap'; } /** * Generated by JsPbCodeGenerator. @@ -738,16 +788,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest'; } /** * Generated by JsPbCodeGenerator. @@ -759,16 +809,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -780,16 +830,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse'; } /** * Generated by JsPbCodeGenerator. @@ -801,16 +851,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -822,16 +872,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys'; } /** * Generated by JsPbCodeGenerator. @@ -843,16 +893,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetProofsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractResponse'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest'; } /** * Generated by JsPbCodeGenerator. @@ -864,16 +914,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsRequest'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -885,16 +935,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest'; } /** * Generated by JsPbCodeGenerator. @@ -906,16 +956,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest'; } /** * Generated by JsPbCodeGenerator. @@ -927,16 +977,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest'; } /** * Generated by JsPbCodeGenerator. @@ -948,16 +998,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetProofsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts'; + proto.org.dash.platform.dapi.v0.GetProofsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsResponse'; } /** * Generated by JsPbCodeGenerator. @@ -969,16 +1019,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest'; + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -990,16 +1040,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractRequest'; } /** * Generated by JsPbCodeGenerator. @@ -1011,16 +1061,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry'; + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -1032,16 +1082,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory'; + proto.org.dash.platform.dapi.v0.GetDataContractResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractResponse'; } /** * Generated by JsPbCodeGenerator. @@ -1053,16 +1103,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -1074,16 +1124,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsRequest'; } /** * Generated by JsPbCodeGenerator. @@ -1095,16 +1145,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents'; + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -1116,16 +1166,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse'; } /** * Generated by JsPbCodeGenerator. @@ -1137,16 +1187,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry'; } /** * Generated by JsPbCodeGenerator. @@ -1158,16 +1208,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts'; } /** * Generated by JsPbCodeGenerator. @@ -1179,16 +1229,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -1200,16 +1250,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest'; } /** * Generated by JsPbCodeGenerator. @@ -1221,16 +1271,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -1242,16 +1292,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse'; } /** * Generated by JsPbCodeGenerator. @@ -1263,16 +1313,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.ConsensusParamsBlock, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.displayName = 'proto.org.dash.platform.dapi.v0.ConsensusParamsBlock'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -1284,16 +1334,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.displayName = 'proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry'; } /** * Generated by JsPbCodeGenerator. @@ -1305,16 +1355,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory'; } /** * Generated by JsPbCodeGenerator. @@ -1326,55 +1376,3730 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse'; + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsRequest'; } - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor */ -proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_); }; - - -/** - * Static version of the {@see toObject} method. +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0'; +} + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { + var f, obj = { + grovedbProof: msg.getGrovedbProof_asB64(), + quorumHash: msg.getQuorumHash_asB64(), + signature: msg.getSignature_asB64(), + round: jspb.Message.getFieldWithDefault(msg, 4, 0), + blockIdHash: msg.getBlockIdHash_asB64(), + quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.Proof; + return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setGrovedbProof(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setQuorumHash(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setSignature(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setRound(value); + break; + case 5: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setBlockIdHash(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setQuorumType(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getGrovedbProof_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getQuorumHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } + f = message.getSignature_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getRound(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getBlockIdHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 5, + f + ); + } + f = message.getQuorumType(); + if (f !== 0) { + writer.writeUint32( + 6, + f + ); + } +}; + + +/** + * optional bytes grovedb_proof = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes grovedb_proof = 1; + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getGrovedbProof())); +}; + + +/** + * optional bytes grovedb_proof = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getGrovedbProof())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bytes quorum_hash = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes quorum_hash = 2; + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getQuorumHash())); +}; + + +/** + * optional bytes quorum_hash = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getQuorumHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); +}; + + +/** + * optional bytes signature = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes signature = 3; + * This is a type-conversion wrapper around `getSignature()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getSignature())); +}; + + +/** + * optional bytes signature = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getSignature()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getSignature())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + +/** + * optional uint32 round = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bytes block_id_hash = 5; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * optional bytes block_id_hash = 5; + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getBlockIdHash())); +}; + + +/** + * optional bytes block_id_hash = 5; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getBlockIdHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); +}; + + +/** + * optional uint32 quorum_type = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { + var f, obj = { + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), + timeMs: jspb.Message.getFieldWithDefault(msg, 3, 0), + protocolVersion: jspb.Message.getFieldWithDefault(msg, 4, 0), + chainId: jspb.Message.getFieldWithDefault(msg, 5, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setHeight(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreChainLockedHeight(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint64()); + msg.setTimeMs(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setProtocolVersion(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setChainId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getHeight(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getCoreChainLockedHeight(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getTimeMs(); + if (f !== 0) { + writer.writeUint64( + 3, + f + ); + } + f = message.getProtocolVersion(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getChainId(); + if (f.length > 0) { + writer.writeString( + 5, + f + ); + } +}; + + +/** + * optional uint64 height = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint32 core_chain_locked_height = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional uint64 time_ms = 3; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional uint32 protocol_version = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional string chain_id = 5; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { + return jspb.Message.setProto3StringField(this, 5, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { + var f, obj = { + code: jspb.Message.getFieldWithDefault(msg, 1, 0), + message: jspb.Message.getFieldWithDefault(msg, 2, ""), + data: msg.getData_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCode(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMessage(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setData(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCode(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getMessage(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getData_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } +}; + + +/** + * optional uint32 code = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional string message = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bytes data = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes data = 3; + * This is a type-conversion wrapper around `getData()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getData())); +}; + + +/** + * optional bytes data = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getData()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getData())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + stateTransition: msg.getStateTransition_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStateTransition(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getStateTransition_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes state_transition = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes state_transition = 1; + * This is a type-conversion wrapper around `getStateTransition()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStateTransition())); +}; + + +/** + * optional bytes state_transition = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStateTransition()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStateTransition())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceAndRevisionRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes identity = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); +}; + + +/** + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasIdentity = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentityResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * repeated bytes ids = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); +}; + + +/** + * repeated bytes ids = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentitiesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { var f, obj = { - grovedbProof: msg.getGrovedbProof_asB64(), - quorumHash: msg.getQuorumHash_asB64(), - signature: msg.getSignature_asB64(), - round: jspb.Message.getFieldWithDefault(msg, 4, 0), - blockIdHash: msg.getBlockIdHash_asB64(), - quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + value: msg.getValue_asB64() }; if (includeInstance) { @@ -1388,23 +5113,23 @@ proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.Proof; - return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1413,27 +5138,167 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setGrovedbProof(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setQuorumHash(value); + msg.setValue(value); break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setSignature(value); + default: + reader.skipField(); break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setRound(value); + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes value = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes value = 1; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); +}; + + +/** + * optional bytes value = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { + var f, obj = { + key: msg.getKey_asB64(), + value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { break; - case 5: + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setBlockIdHash(value); - break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setQuorumType(value); + msg.setKey(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); + msg.setValue(value); break; default: reader.skipField(); @@ -1448,9 +5313,9 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1458,261 +5323,295 @@ proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getGrovedbProof_asU8(); + f = message.getKey_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getQuorumHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getValue(); + if (f != null) { + writer.writeMessage( 2, - f - ); - } - f = message.getSignature_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getRound(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getBlockIdHash_asU8(); - if (f.length > 0) { - writer.writeBytes( - 5, - f - ); - } - f = message.getQuorumType(); - if (f !== 0) { - writer.writeUint32( - 6, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter ); } }; /** - * optional bytes grovedb_proof = 1; + * optional bytes key = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes grovedb_proof = 1; - * This is a type-conversion wrapper around `getGrovedbProof()` + * optional bytes key = 1; + * This is a type-conversion wrapper around `getKey()` * @return {string} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getGrovedbProof())); + this.getKey())); }; /** - * optional bytes grovedb_proof = 1; + * optional bytes key = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getGrovedbProof()` + * This is a type-conversion wrapper around `getKey()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getGrovedbProof())); + this.getKey())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bytes quorum_hash = 2; - * @return {string} + * optional IdentityValue value = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); }; /** - * optional bytes quorum_hash = 2; - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getQuorumHash())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional bytes quorum_hash = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getQuorumHash())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { + return jspb.Message.getField(this, 2) != null; }; + /** - * optional bytes signature = 3; - * @return {string} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes signature = 3; - * This is a type-conversion wrapper around `getSignature()` - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getSignature())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); }; /** - * optional bytes signature = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getSignature()` - * @return {!Uint8Array} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getSignature())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { + var f, obj = { + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); }; /** - * optional uint32 round = 4; - * @return {number} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional bytes block_id_hash = 5; - * @return {string} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentityEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter + ); + } }; /** - * optional bytes block_id_hash = 5; - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {string} + * repeated IdentityEntry identity_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getBlockIdHash())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional bytes block_id_hash = 5; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {!Uint8Array} + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getBlockIdHash())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { - return jspb.Message.setProto3BytesField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); }; + /** - * optional uint32 quorum_type = 6; - * @return {number} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); -}; - +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_ = [[1,2]]; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0])); +}; @@ -1729,8 +5628,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(opt_includeInstance, this); }; @@ -1739,17 +5638,15 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), - timeMs: jspb.Message.getFieldWithDefault(msg, 3, 0), - protocolVersion: jspb.Message.getFieldWithDefault(msg, 4, 0), - chainId: jspb.Message.getFieldWithDefault(msg, 5, "") + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -1763,23 +5660,23 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1787,24 +5684,19 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setHeight(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); + msg.setIdentities(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCoreChainLockedHeight(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {number} */ (reader.readUint64()); - msg.setTimeMs(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setProtocolVersion(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.setChainId(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -1819,9 +5711,9 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1829,143 +5721,215 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeUint64( + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter ); } - f = message.getCoreChainLockedHeight(); - if (f !== 0) { - writer.writeUint32( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getTimeMs(); - if (f !== 0) { - writer.writeUint64( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f - ); - } - f = message.getProtocolVersion(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getChainId(); - if (f.length > 0) { - writer.writeString( - 5, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional uint64 height = 1; - * @return {number} + * optional Identities identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); }; /** - * optional uint32 core_chain_locked_height = 2; - * @return {number} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * optional uint64 time_ms = 3; - * @return {number} + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional uint32 protocol_version = 4; - * @return {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentitiesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1]]; /** - * optional string chain_id = 5; - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -1979,8 +5943,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); }; @@ -1989,15 +5953,13 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { var f, obj = { - code: jspb.Message.getFieldWithDefault(msg, 1, 0), - message: jspb.Message.getFieldWithDefault(msg, 2, ""), - data: msg.getData_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -2011,23 +5973,23 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2035,16 +5997,9 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCode(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMessage(value); - break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setData(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -2059,9 +6014,9 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2069,117 +6024,52 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getCode(); - if (f !== 0) { - writer.writeUint32( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getMessage(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getData_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter ); } }; -/** - * optional uint32 code = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional string message = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bytes data = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - /** - * optional bytes data = 3; - * This is a type-conversion wrapper around `getData()` - * @return {string} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getData())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_ = [[1,2]]; /** - * optional bytes data = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getData()` - * @return {!Uint8Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getData())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE: 1, + PROOF: 2 }; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -2193,8 +6083,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(opt_includeInstance, this); }; @@ -2203,13 +6093,15 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObje * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - stateTransition: msg.getStateTransition_asB64() + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -2223,23 +6115,23 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = funct /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2247,8 +6139,18 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransition(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -2263,175 +6165,220 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getStateTransition_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional uint64 balance = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setBalance = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearBalance = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasBalance = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bytes state_transition = 1; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bytes state_transition = 1; - * This is a type-conversion wrapper around `getStateTransition()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes state_transition = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransition()` - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityBalanceResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { - var f, obj = { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, 1)); +}; - }; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1]]; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @enum {number} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); +}; @@ -2448,8 +6395,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); }; @@ -2458,14 +6405,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -2479,23 +6425,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeIn /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2503,12 +6449,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -2523,96 +6466,30 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } -}; - - -/** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter + ); + } }; @@ -2625,22 +6502,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setProve = function * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase = { RESULT_NOT_SET: 0, - IDENTITY: 1, + BALANCE_AND_REVISION: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0])); }; @@ -2658,8 +6535,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(opt_includeInstance, this); }; @@ -2668,13 +6545,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), + balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -2690,23 +6567,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2714,8 +6591,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader); + msg.setBalanceAndRevision(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -2740,9 +6618,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2750,17 +6628,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getBalanceAndRevision(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter ); } f = message.getProof(); @@ -2782,54 +6661,191 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = fu }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes identity = 1; - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getIdentity = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(opt_includeInstance, this); }; /** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject = function(includeInstance, msg) { + var f, obj = { + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + revision: jspb.Message.getFieldWithDefault(msg, 2, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setRevision(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBalance(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getRevision(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } +}; + + +/** + * optional uint64 balance = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setBalance = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint64 revision = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getRevision = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setRevision = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional BalanceAndRevision balance_and_revision = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getBalanceAndRevision = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setBalanceAndRevision = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearBalanceAndRevision = function() { + return this.setBalanceAndRevision(undefined); }; @@ -2837,7 +6853,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearIdentity = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasIdentity = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasBalanceAndRevision = function() { return jspb.Message.getField(this, 1) != null; }; @@ -2846,7 +6862,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasIdentity = func * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -2854,18 +6870,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getProof = functio /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -2874,7 +6890,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearProof = funct * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -2883,7 +6899,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasProof = functio * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -2891,18 +6907,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getMetadata = func /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -2911,18 +6927,75 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearMetadata = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; +/** + * optional GetIdentityBalanceAndRevisionResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, 1)); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { + REQUEST_NOT_SET: 0, + ALL_KEYS: 1, + SPECIFIC_KEYS: 2, + SEARCH_KEY: 3 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + */ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); +}; @@ -2939,8 +7012,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); }; @@ -2949,14 +7022,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), + specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), + searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) }; if (includeInstance) { @@ -2970,23 +7044,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; + return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2994,12 +7068,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); + var value = new proto.org.dash.platform.dapi.v0.AllKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); + msg.setAllKeys(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); + msg.setSpecificKeys(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.SearchKey; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); + msg.setSearchKey(value); break; default: reader.skipField(); @@ -3014,9 +7095,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3024,137 +7105,153 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getAllKeys(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getSpecificKeys(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter + ); + } + f = message.getSearchKey(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter ); } }; /** - * repeated bytes ids = 1; - * @return {!Array} + * optional AllKeys all_keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); + * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); }; /** - * repeated bytes ids = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { + return this.setAllKeys(undefined); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * optional SpecificKeys specific_keys = 2; + * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.addIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { + return this.setSpecificKeys(undefined); }; /** - * optional bool prove = 2; + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * optional SearchKey search_key = 3; + * @return {?proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1,2]]; + * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + /** - * @enum {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { + return this.setSearchKey(undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { + return jspb.Message.getField(this, 3) != null; }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3168,8 +7265,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); }; @@ -3178,15 +7275,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = funct * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; if (includeInstance) { @@ -3200,44 +7295,29 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.AllKeys; + return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); - msg.setIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; default: reader.skipField(); break; @@ -3251,50 +7331,33 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getIdentities(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -3310,8 +7373,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); }; @@ -3320,13 +7383,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { var f, obj = { - value: msg.getValue_asB64() + keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f }; if (includeInstance) { @@ -3340,23 +7403,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; + return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3364,8 +7427,10 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); + for (var i = 0; i < values.length; i++) { + msg.addKeyIds(values[i]); + } break; default: reader.skipField(); @@ -3380,9 +7445,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3390,15 +7455,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getValue_asU8(); + f = message.getKeyIdsList(); if (f.length > 0) { - writer.writeBytes( + writer.writePackedUint32( 1, f ); @@ -3407,44 +7472,39 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBin /** - * optional bytes value = 1; - * @return {string} + * repeated uint32 key_ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional bytes value = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * @param {number} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { + return this.setKeyIdsList([]); }; @@ -3464,8 +7524,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); }; @@ -3474,14 +7534,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) + purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] }; if (includeInstance) { @@ -3495,23 +7554,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SearchKey; + return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3519,13 +7578,10 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); - msg.setValue(value); + var value = msg.getPurposeMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); + }); break; default: reader.skipField(); @@ -3540,9 +7596,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3550,116 +7606,41 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter - ); + f = message.getPurposeMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); } }; /** - * optional bytes key = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); -}; - - -/** - * optional bytes key = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional IdentityValue value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} + * map purpose_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + proto.org.dash.platform.dapi.v0.SecurityLevelMap)); }; - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { + this.getPurposeMapMap().clear(); + return this;}; + + @@ -3676,8 +7657,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); }; @@ -3686,14 +7667,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { var f, obj = { - identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] }; if (includeInstance) { @@ -3707,23 +7687,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3731,9 +7711,10 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); - msg.addIdentityEntries(value); + var value = msg.getSecurityLevelMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); + }); break; default: reader.skipField(); @@ -3748,9 +7729,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3758,198 +7739,188 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter - ); + f = message.getSecurityLevelMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); } }; /** - * repeated IdentityEntry identity_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { + CURRENT_KEY_OF_KIND_REQUEST: 0, + ALL_KEYS_OF_KIND_REQUEST: 1 }; - /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this + * map security_level_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { - return this.setIdentityEntriesList([]); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + null)); }; /** - * optional Identities identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); -}; - +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { + this.getSecurityLevelMapMap().clear(); + return this;}; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); -}; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearIdentities = function() { - return this.setIdentities(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_ = [[1]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0])); }; -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(includeInstance, f) + }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1,2]]; - /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter + ); + } }; -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); -}; + @@ -3965,9 +7936,9 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(opt_includeInstance, this); }; @@ -3976,15 +7947,17 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - balance: (f = msg.getBalance()) && google_protobuf_wrappers_pb.UInt64Value.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -3998,23 +7971,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4022,19 +7995,27 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new google_protobuf_wrappers_pb.UInt64Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt64Value.deserializeBinaryFromReader); - msg.setBalance(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); + msg.setRequestType(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 4: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -4049,9 +8030,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4059,101 +8040,120 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getBalance(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - google_protobuf_wrappers_pb.UInt64Value.serializeBinaryToWriter + f ); } - f = message.getProof(); + f = message.getRequestType(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getLimit(); if (f != null) { writer.writeMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getOffset(); + if (f != null) { + writer.writeMessage( + 4, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; /** - * optional google.protobuf.UInt64Value balance = 1; - * @return {?proto.google.protobuf.UInt64Value} + * optional bytes identity_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getBalance = function() { - return /** @type{?proto.google.protobuf.UInt64Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt64Value, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.google.protobuf.UInt64Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setBalance = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearBalance = function() { - return this.setBalance(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasBalance = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional KeyRequestType request_type = 2; + * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getRequestType = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setRequestType = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearRequestType = function() { + return this.setRequestType(undefined); }; @@ -4161,36 +8161,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearProof * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasRequestType = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional google.protobuf.UInt32Value limit = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setLimit = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; @@ -4198,182 +8198,131 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearMetada * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasLimit = function() { return jspb.Message.getField(this, 3) != null; }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional google.protobuf.UInt32Value offset = 4; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); +}; + /** - * @enum {number} + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 4, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE_AND_REVISION: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 4) != null; }; +/** + * optional bool prove = 5; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityKeysRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { - var f, obj = { - balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, 1)); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinaryFromReader); - msg.setBalanceAndRevision(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1]]; + /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBalanceAndRevision(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -4387,8 +8336,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); }; @@ -4397,14 +8346,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { var f, obj = { - balance: (f = msg.getBalance()) && google_protobuf_wrappers_pb.UInt64Value.toObject(includeInstance, f), - revision: (f = msg.getRevision()) && google_protobuf_wrappers_pb.UInt64Value.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -4418,23 +8366,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4442,14 +8390,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new google_protobuf_wrappers_pb.UInt64Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt64Value.deserializeBinaryFromReader); - msg.setBalance(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.UInt64Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt64Value.deserializeBinaryFromReader); - msg.setRevision(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -4464,9 +8407,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4474,243 +8417,198 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getBalance(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - google_protobuf_wrappers_pb.UInt64Value.serializeBinaryToWriter - ); - } - f = message.getRevision(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt64Value.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter ); } }; -/** - * optional google.protobuf.UInt64Value balance = 1; - * @return {?proto.google.protobuf.UInt64Value} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.getBalance = function() { - return /** @type{?proto.google.protobuf.UInt64Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt64Value, 1)); -}; - - -/** - * @param {?proto.google.protobuf.UInt64Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.setBalance = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.clearBalance = function() { - return this.setBalance(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.hasBalance = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional google.protobuf.UInt64Value revision = 2; - * @return {?proto.google.protobuf.UInt64Value} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.getRevision = function() { - return /** @type{?proto.google.protobuf.UInt64Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt64Value, 2)); -}; - - -/** - * @param {?proto.google.protobuf.UInt64Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.setRevision = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.clearRevision = function() { - return this.setRevision(undefined); -}; - /** - * Returns whether this field is set. - * @return {boolean} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.hasRevision = function() { - return jspb.Message.getField(this, 2) != null; -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_ = [[1,2]]; /** - * optional BalanceAndRevision balance_and_revision = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getBalanceAndRevision = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setBalanceAndRevision = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + KEYS: 1, + PROOF: 2 }; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearBalanceAndRevision = function() { - return this.setBalanceAndRevision(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0])); }; -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasBalanceAndRevision = function() { - return jspb.Message.getField(this, 1) != null; -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(opt_includeInstance, this); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearProof = function() { - return this.setProof(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader); + msg.setKeys(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; - + /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { - REQUEST_NOT_SET: 0, - ALL_KEYS: 1, - SPECIFIC_KEYS: 2, - SEARCH_KEY: 3 +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getKeys(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + /** - * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_ = [1]; @@ -4727,8 +8625,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(opt_includeInstance, this); }; @@ -4737,15 +8635,13 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject = function(includeInstance, msg) { var f, obj = { - allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), - specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), - searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) + keysBytesList: msg.getKeysBytesList_asB64() }; if (includeInstance) { @@ -4759,23 +8655,23 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; - return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4783,19 +8679,8 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.AllKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); - msg.setAllKeys(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); - msg.setSpecificKeys(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.SearchKey; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); - msg.setSearchKey(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addKeysBytes(value); break; default: reader.skipField(); @@ -4810,9 +8695,9 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4820,64 +8705,108 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getAllKeys(); - if (f != null) { - writer.writeMessage( + f = message.getKeysBytesList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter - ); - } - f = message.getSpecificKeys(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter - ); - } - f = message.getSearchKey(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter + f ); } }; /** - * optional AllKeys all_keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.AllKeys} + * repeated bytes keys_bytes = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * repeated bytes keys_bytes = 1; + * This is a type-conversion wrapper around `getKeysBytesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getKeysBytesList())); +}; + + +/** + * repeated bytes keys_bytes = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getKeysBytesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getKeysBytesList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.setKeysBytesList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.addKeysBytes = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.clearKeysBytesList = function() { + return this.setKeysBytesList([]); +}; + + +/** + * optional Keys keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { - return this.setAllKeys(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearKeys = function() { + return this.setKeys(undefined); }; @@ -4885,36 +8814,36 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasKeys = function() { return jspb.Message.getField(this, 1) != null; }; /** - * optional SpecificKeys specific_keys = 2; - * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { - return this.setSpecificKeys(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -4922,36 +8851,36 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = fun * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional SearchKey search_key = 3; - * @return {?proto.org.dash.platform.dapi.v0.SearchKey} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { - return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { - return this.setSearchKey(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -4959,11 +8888,73 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = functi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; +/** + * optional GetIdentityKeysResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); +}; @@ -4980,8 +8971,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); }; @@ -4990,13 +8981,13 @@ proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { var f, obj = { - + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -5010,29 +9001,34 @@ proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.AllKeys; - return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; default: reader.skipField(); break; @@ -5046,9 +9042,9 @@ proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(m * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5056,12 +9052,20 @@ proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter + ); + } }; @@ -5071,7 +9075,7 @@ proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(messa * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3]; @@ -5088,8 +9092,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); }; @@ -5098,13 +9102,18 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_i * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), + contractsList: jspb.Message.toObjectList(msg.getContractsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), + documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance) }; if (includeInstance) { @@ -5118,23 +9127,23 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; - return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5142,10 +9151,19 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct var field = reader.getFieldNumber(); switch (field) { case 1: - var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); - for (var i = 0; i < values.length; i++) { - msg.addKeyIds(values[i]); - } + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); + msg.addIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); + msg.addContracts(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); + msg.addDocuments(value); break; default: reader.skipField(); @@ -5160,9 +9178,9 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5170,56 +9188,36 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = functio /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeyIdsList(); + f = message.getIdentitiesList(); if (f.length > 0) { - writer.writePackedUint32( + writer.writeRepeatedMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + ); + } + f = message.getContractsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + ); + } + f = message.getDocumentsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter ); } -}; - - -/** - * repeated uint32 key_ids = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); -}; - - -/** - * @param {number} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { - return this.setKeyIdsList([]); }; @@ -5239,8 +9237,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); }; @@ -5249,13 +9247,16 @@ proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_incl * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { var f, obj = { - purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] + contractId: msg.getContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + documentId: msg.getDocumentId_asB64() }; if (includeInstance) { @@ -5269,23 +9270,23 @@ proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, m /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SearchKey; - return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5293,10 +9294,20 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getPurposeMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDocumentTypeKeepsHistory(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocumentId(value); break; default: reader.skipField(); @@ -5308,52 +9319,174 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getDocumentTypeKeepsHistory(); + if (f) { + writer.writeBool( + 3, + f + ); + } + f = message.getDocumentId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } +}; + + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); +}; + + +/** + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional string document_type = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bool document_type_keeps_history = 3; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPurposeMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); - } +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * map purpose_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * optional bytes document_id = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - proto.org.dash.platform.dapi.v0.SecurityLevelMap)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this + * optional bytes document_id = 4; + * This is a type-conversion wrapper around `getDocumentId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { - this.getPurposeMapMap().clear(); - return this;}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocumentId())); +}; + + +/** + * optional bytes document_id = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocumentId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; @@ -5372,8 +9505,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); }; @@ -5382,13 +9515,14 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { var f, obj = { - securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] + identityId: msg.getIdentityId_asB64(), + requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -5402,23 +9536,23 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5426,10 +9560,12 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getSecurityLevelMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); + msg.setRequestType(value); break; default: reader.skipField(); @@ -5444,9 +9580,9 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5454,15 +9590,25 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSecurityLevelMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getRequestType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f + ); } }; @@ -5470,31 +9616,70 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = funct /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { - CURRENT_KEY_OF_KIND_REQUEST: 0, - ALL_KEYS_OF_KIND_REQUEST: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { + FULL_IDENTITY: 0, + BALANCE: 1, + KEYS: 2 }; /** - * map security_level_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * optional bytes identity_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - null)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { - this.getSecurityLevelMapMap().clear(); - return this;}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); +}; + + +/** + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional Type request_type = 2; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); +}; @@ -5513,8 +9698,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); }; @@ -5523,17 +9708,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + contractId: msg.getContractId_asB64() }; if (includeInstance) { @@ -5547,23 +9728,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5572,26 +9753,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); - msg.setRequestType(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 4: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.setContractId(value); break; default: reader.skipField(); @@ -5606,57 +9768,26 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getRequestType(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 4, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, f ); } @@ -5664,173 +9795,195 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = /** - * optional bytes identity_id = 1; + * optional bytes contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getIdentityId = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getIdentityId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); + this.getContractId())); }; /** - * optional bytes identity_id = 1; + * optional bytes contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` + * This is a type-conversion wrapper around `getContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getIdentityId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); + this.getContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setIdentityId = function(value) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional KeyRequestType request_type = 2; - * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + * repeated IdentityRequest identities = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getRequestType = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setRequestType = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearRequestType = function() { - return this.setRequestType(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasRequestType = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { + return this.setIdentitiesList([]); }; /** - * optional google.protobuf.UInt32Value limit = 3; - * @return {?proto.google.protobuf.UInt32Value} + * repeated ContractRequest contracts = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasLimit = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { + return this.setContractsList([]); }; /** - * optional google.protobuf.UInt32Value offset = 4; - * @return {?proto.google.protobuf.UInt32Value} + * repeated DocumentRequest documents = 3; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasOffset = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional bool prove = 5; - * @return {boolean} + * optional GetProofsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -5843,22 +9996,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setProve = func * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase = { - RESULT_NOT_SET: 0, - KEYS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); }; @@ -5876,8 +10028,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); }; @@ -5886,15 +10038,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { var f, obj = { - keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -5908,23 +10058,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5932,19 +10082,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFromReader); - msg.setKeys(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -5959,9 +10099,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5969,47 +10109,24 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeys(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -6025,8 +10142,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); }; @@ -6035,13 +10152,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - keysBytesList: msg.getKeysBytesList_asB64() + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -6055,23 +10173,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject = function /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6079,134 +10197,88 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFr var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addKeysBytes(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; - default: - reader.skipField(); + case 2: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getKeysBytesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } -}; - - -/** - * repeated bytes keys_bytes = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.getKeysBytesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - - -/** - * repeated bytes keys_bytes = 1; - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.getKeysBytesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getKeysBytesList())); -}; - - -/** - * repeated bytes keys_bytes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.getKeysBytesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getKeysBytesList())); -}; - - -/** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.setKeysBytesList = function(value) { - return jspb.Message.setField(this, 1, value || []); + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.addKeysBytes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.clearKeysBytesList = function() { - return this.setKeysBytesList([]); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Keys keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} + * optional Proof proof = 1; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys, 1)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearKeys = function() { - return this.setKeys(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -6214,36 +10286,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearKeys = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasKeys = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 1) != null; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional ResponseMetadata metadata = 2; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -6251,36 +10323,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearProof = f * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional GetProofsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -6288,18 +10360,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearMetadata * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +}; @@ -6316,8 +10406,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); }; @@ -6326,17 +10416,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - identityIdsList: msg.getIdentityIdsList_asB64(), - requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -6350,23 +10436,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6374,27 +10460,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIdentityIds(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); - msg.setRequestType(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 4: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -6409,9 +10477,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6419,48 +10487,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityIdsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } - f = message.getRequestType(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); + f = message.getV0(); if (f != null) { writer.writeMessage( - 4, + 1, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter ); } }; @@ -6482,8 +10520,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); }; @@ -6492,13 +10530,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -6512,23 +10551,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6536,10 +10575,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deseri var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getSecurityLevelMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -6554,9 +10595,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6564,134 +10605,114 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSecurityLevelMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); } }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType = { - CURRENT_KEY_OF_KIND_REQUEST: 0 -}; - -/** - * map security_level_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - null)); -}; - - -/** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { - this.getSecurityLevelMapMap().clear(); - return this;}; - - -/** - * repeated bytes identity_ids = 1; - * @return {!Array} + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getIdentityIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * repeated bytes identity_ids = 1; - * This is a type-conversion wrapper around `getIdentityIdsList()` - * @return {!Array} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getIdentityIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdentityIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * repeated bytes identity_ids = 1; + * optional bytes id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityIdsList()` - * @return {!Array} + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getIdentityIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdentityIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setIdentityIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.addIdentityIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearIdentityIdsList = function() { - return this.setIdentityIdsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional KeyRequestType request_type = 2; - * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + * optional GetDataContractRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getRequestType = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setRequestType = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearRequestType = function() { - return this.setRequestType(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -6699,100 +10720,147 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearRequestT * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.hasRequestType = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional google.protobuf.UInt32Value limit = 3; - * @return {?proto.google.protobuf.UInt32Value} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.hasLimit = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); }; /** - * optional google.protobuf.UInt32Value offset = 4; - * @return {?proto.google.protobuf.UInt32Value} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) + }; -/** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 4, value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.hasOffset = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional bool prove = 5; - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter + ); + } }; @@ -6805,22 +10873,22 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setProve = fu * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { RESULT_NOT_SET: 0, - PUBLIC_KEYS: 1, + DATA_CONTRACT: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); }; @@ -6838,8 +10906,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); }; @@ -6848,13 +10916,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - publicKeys: (f = msg.getPublicKeys()) && proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObject(includeInstance, f), + dataContract: msg.getDataContract_asB64(), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -6870,23 +10938,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6894,9 +10962,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromR var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinaryFromReader); - msg.setPublicKeys(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDataContract(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -6921,9 +10988,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6931,18 +10998,17 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeys(); + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); if (f != null) { - writer.writeMessage( + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.serializeBinaryToWriter + f ); } f = message.getProof(); @@ -6964,160 +11030,202 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.serializeBinaryToWrite }; +/** + * optional bytes data_contract = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + +/** + * optional bytes data_contract = 1; + * This is a type-conversion wrapper around `getDataContract()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDataContract())); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes data_contract = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDataContract()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDataContract())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.toObject = function(includeInstance, msg) { - var f, obj = { - value: msg.getValue_asB64() - }; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetDataContractResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); }; /** - * optional bytes value = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes value = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); +}; @@ -7134,8 +11242,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); }; @@ -7144,14 +11252,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototy * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7165,23 +11272,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObjec /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7189,13 +11296,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deseria var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinaryFromReader); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -7210,9 +11313,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deseria * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7220,116 +11323,30 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototy /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); + f = message.getV0(); if (f != null) { writer.writeMessage( - 2, + 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes key = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getKey_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); -}; - - -/** - * optional bytes key = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getKey_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional PublicKey value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; -}; - - /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; @@ -7346,8 +11363,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); }; @@ -7356,14 +11373,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyEntriesList: jspb.Message.toObjectList(msg.getPublicKeyEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObject, includeInstance) + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -7377,23 +11394,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7401,9 +11418,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deser var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinaryFromReader); - msg.addPublicKeyEntries(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -7418,9 +11438,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7428,123 +11448,133 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyEntriesList(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.serializeBinaryToWriter + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f ); } }; /** - * repeated PublicKeyEntry public_key_entries = 1; - * @return {!Array} + * repeated bytes ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.getPublicKeyEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.setPublicKeyEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} + * repeated bytes ids = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.addPublicKeyEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.clearPublicKeyEntriesList = function() { - return this.setPublicKeyEntriesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional PublicKeyEntries public_keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getPublicKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.setPublicKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_[0], value); + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearPublicKeys = function() { - return this.setPublicKeys(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.hasPublicKeys = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional GetDataContractsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -7552,55 +11582,36 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearProof = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.repeatedFields_ = [1,2,3]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +}; @@ -7617,8 +11628,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); }; @@ -7627,18 +11638,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject, includeInstance), - contractsList: jspb.Message.toObjectList(msg.getContractsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject, includeInstance), - documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7652,23 +11658,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7676,19 +11682,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinaryFromReader); - msg.addIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinaryFromReader); - msg.addContracts(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinaryFromReader); - msg.addDocuments(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -7703,9 +11699,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7713,34 +11709,18 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.serializeBinaryToWriter - ); - } - f = message.getContractsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.serializeBinaryToWriter - ); - } - f = message.getDocumentsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter ); } }; @@ -7762,8 +11742,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); }; @@ -7772,16 +11752,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - documentId: msg.getDocumentId_asB64() + identifier: msg.getIdentifier_asB64(), + dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -7795,23 +11773,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7820,19 +11798,12 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBina switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + msg.setIdentifier(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); - break; - case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setDocumentTypeKeepsHistory(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocumentId(value); + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setDataContract(value); break; default: reader.skipField(); @@ -7847,9 +11818,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7857,163 +11828,116 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getIdentifier_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( + f = message.getDataContract(); + if (f != null) { + writer.writeMessage( 2, - f - ); - } - f = message.getDocumentTypeKeepsHistory(); - if (f) { - writer.writeBool( - 3, - f - ); - } - f = message.getDocumentId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f + f, + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; /** - * optional bytes contract_id = 1; + * optional bytes identifier = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getContractId = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + this.getIdentifier())); }; /** - * optional bytes contract_id = 1; + * optional bytes identifier = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` + * This is a type-conversion wrapper around `getIdentifier()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); + this.getIdentifier())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setContractId = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional string document_type = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bool document_type_keeps_history = 3; - * @return {boolean} + * optional google.protobuf.BytesValue data_contract = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional bytes document_id = 4; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { + return this.setDataContract(undefined); }; /** - * optional bytes document_id = 4; - * This is a type-conversion wrapper around `getDocumentId()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDocumentId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 2) != null; }; -/** - * optional bytes document_id = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocumentId())); -}; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setDocumentId = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); -}; - - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; @@ -8030,8 +11954,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); }; @@ -8040,14 +11964,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) }; if (includeInstance) { @@ -8061,23 +11985,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8085,12 +12009,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} */ (reader.readEnum()); - msg.setRequestType(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -8105,9 +12026,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8115,101 +12036,90 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); + f = message.getDataContractEntriesList(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedMessage( 1, - f - ); - } - f = message.getRequestType(); - if (f !== 0.0) { - writer.writeEnum( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter ); } }; /** - * @enum {number} + * repeated DataContractEntry data_contract_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type = { - FULL_IDENTITY: 0, - BALANCE: 1, - KEYS: 2 +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); }; + /** - * optional bytes identity_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); }; /** - * optional bytes identity_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; /** - * optional Type request_type = 2; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getRequestType = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACTS: 1, + PROOF: 2 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.setRequestType = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -8223,8 +12133,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); }; @@ -8233,13 +12143,15 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64() + dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -8253,23 +12165,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8277,8 +12189,19 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); + msg.setDataContracts(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -8293,9 +12216,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8303,175 +12226,323 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getDataContracts(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes contract_id = 1; - * @return {string} + * optional DataContracts data_contracts = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { + return this.setDataContracts(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * repeated IdentityRequest identities = 1; - * @return {!Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getIdentitiesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setIdentitiesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.addIdentities = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * repeated ContractRequest contracts = 2; - * @return {!Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getContractsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setContractsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.addContracts = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearContractsList = function() { - return this.setContractsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * repeated DocumentRequest documents = 3; - * @return {!Array} + * optional GetDataContractsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getDocumentsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setDocumentsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.addDocuments = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter + ); + } }; @@ -8491,8 +12562,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); }; @@ -8501,14 +12572,17 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + id: msg.getId_asB64(), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -8522,23 +12596,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8546,14 +12620,26 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 3: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartAtMs(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -8568,9 +12654,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8578,56 +12664,119 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProof(); + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getLimit(); if (f != null) { writer.writeMessage( - 1, + 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getOffset(); if (f != null) { writer.writeMessage( - 2, + 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getStartAtMs(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; /** - * optional Proof proof = 1; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +}; + + +/** + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setProof = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; @@ -8635,36 +12784,36 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearProof = functio * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 2; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional google.protobuf.UInt32Value offset = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; @@ -8672,12 +12821,110 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearMetadata = func * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional uint64 start_at_ms = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bool prove = 5; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + +/** + * optional GetDataContractHistoryRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -8693,8 +12940,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); }; @@ -8703,14 +12950,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -8724,23 +12970,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8748,12 +12994,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -8768,9 +13011,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8778,89 +13021,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - /** * Oneof group definitions for this message. Each group defines the field @@ -8870,22 +13047,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setProve = func * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { RESULT_NOT_SET: 0, - DATA_CONTRACT: 1, + DATA_CONTRACT_HISTORY: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); }; @@ -8903,8 +13080,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); }; @@ -8913,13 +13090,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContract: msg.getDataContract_asB64(), + dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -8935,23 +13112,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8959,8 +13136,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContract(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); + msg.setDataContractHistory(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -8985,9 +13163,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8995,17 +13173,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getDataContractHistory(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter ); } f = message.getProof(); @@ -9027,137 +13206,187 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter }; -/** - * optional bytes data_contract = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getDataContract = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - -/** - * optional bytes data_contract = 1; - * This is a type-conversion wrapper around `getDataContract()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getDataContract_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContract())); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes data_contract = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContract()` - * @return {!Uint8Array} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getDataContract_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContract())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setDataContract = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { + var f, obj = { + date: jspb.Message.getFieldWithDefault(msg, 1, 0), + value: msg.getValue_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearDataContract = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setDate(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDate(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * optional uint64 date = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes value = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * optional bytes value = 2; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * optional bytes value = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); }; @@ -9167,7 +13396,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasMetadata = * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; @@ -9184,8 +13413,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); }; @@ -9194,14 +13423,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) }; if (includeInstance) { @@ -9215,23 +13444,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9239,12 +13468,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -9259,9 +13485,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9269,105 +13495,206 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getDataContractEntriesList(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeRepeatedMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter ); } }; /** - * repeated bytes ids = 1; - * @return {!Array} + * repeated DataContractHistoryEntry data_contract_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); }; /** - * repeated bytes ids = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * optional DataContractHistory data_contract_history = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.addIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { + return this.setDataContractHistory(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bool prove = 2; + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDataContractHistoryResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -9380,22 +13707,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setProve = fun * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); }; @@ -9413,8 +13739,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); }; @@ -9423,15 +13749,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9445,23 +13769,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9469,19 +13793,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); - msg.setDataContracts(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9496,9 +13810,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9506,40 +13820,50 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContracts(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 6, + START_AT: 7 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -9555,8 +13879,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); }; @@ -9565,13 +13889,20 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - value: msg.getValue_asB64() + dataContractId: msg.getDataContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + where: msg.getWhere_asB64(), + orderBy: msg.getOrderBy_asB64(), + limit: jspb.Message.getFieldWithDefault(msg, 5, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) }; if (includeInstance) { @@ -9585,23 +13916,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9610,7 +13941,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deser switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + msg.setDataContractId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setWhere(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setOrderBy(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 6: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 7: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 8: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -9625,9 +13984,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9635,257 +13994,396 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getValue_asU8(); + f = message.getDataContractId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getWhere_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getOrderBy_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getLimit(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + if (f != null) { + writer.writeBytes( + 6, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + if (f != null) { + writer.writeBytes( + 7, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 8, + f + ); + } }; /** - * optional bytes value = 1; + * optional bytes data_contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.getValue = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` + * optional bytes data_contract_id = 1; + * This is a type-conversion wrapper around `getDataContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.getValue_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); + this.getDataContractId())); }; /** - * optional bytes value = 1; + * optional bytes data_contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` + * This is a type-conversion wrapper around `getDataContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.getValue_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); + this.getDataContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.setValue = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; +/** + * optional string document_type = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bytes where = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + +/** + * optional bytes where = 3; + * This is a type-conversion wrapper around `getWhere()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWhere())); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes where = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getWhere()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWhere())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { - var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * optional bytes order_by = 4; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * optional bytes order_by = 4; + * This is a type-conversion wrapper around `getOrderBy()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getOrderBy())); +}; + + +/** + * optional bytes order_by = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getOrderBy()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getOrderBy())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; + + +/** + * optional uint32 limit = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * optional bytes start_after = 6; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +}; + + +/** + * optional bytes start_after = 6; + * This is a type-conversion wrapper around `getStartAfter()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * optional bytes start_after = 6; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAfter()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinaryFromReader); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * optional bytes key = 1; + * optional bytes start_at = 7; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` + * optional bytes start_at = 7; + * This is a type-conversion wrapper around `getStartAt()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getKey_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); + this.getStartAt())); }; /** - * optional bytes key = 1; + * optional bytes start_at = 7; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` + * This is a type-conversion wrapper around `getStartAt()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getKey_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); + this.getStartAt())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * optional DataContractValue value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue, 2)); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 7) != null; +}; + + +/** + * optional bool prove = 8; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); +}; + + +/** + * optional GetDocumentsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearValue = function() { - return this.setValue(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -9893,18 +14391,36 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); +}; @@ -9921,8 +14437,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); }; @@ -9931,14 +14447,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9952,23 +14467,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9976,9 +14491,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9990,186 +14505,212 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter - ); - } -}; - - -/** - * repeated DataContractEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); -}; - - -/** - * optional DataContracts data_contracts = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getDataContracts = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setDataContracts = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearDataContracts = function() { - return this.setDataContracts(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasDataContracts = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter + ); + } }; + /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DOCUMENTS: 1, + PROOF: 2 +}; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); + msg.setDocuments(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDocuments(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10185,8 +14726,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); }; @@ -10195,17 +14736,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + documentsList: msg.getDocumentsList_asB64() }; if (includeInstance) { @@ -10219,23 +14756,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10244,25 +14781,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartAtMs(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.addDocuments(value); break; default: reader.skipField(); @@ -10274,132 +14793,158 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDocumentsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 1, + f + ); + } +}; + + +/** + * repeated bytes documents = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes documents = 1; + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getDocumentsList())); +}; + + +/** + * repeated bytes documents = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getDocumentsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getStartAtMs(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * optional bytes id = 1; - * @return {string} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} + * optional Documents documents = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { + return this.setDocuments(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -10407,36 +14952,36 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearLim * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasLimit = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setOffset = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -10444,44 +14989,45 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearOff * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasOffset = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional uint64 start_at_ms = 4; - * @return {number} + * optional GetDocumentsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getStartAtMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setStartAtMs = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); }; /** - * optional bool prove = 5; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -10494,26 +15040,146 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setProve * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACT_HISTORY: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter + ); + } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_ = [1]; + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -10527,8 +15193,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(opt_includeInstance, this); }; @@ -10537,15 +15203,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -10559,23 +15224,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10583,19 +15248,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinaryFromReader); - msg.setDataContractHistory(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addPublicKeyHashes(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -10610,9 +15268,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10620,39 +15278,170 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractHistory(); - if (f != null) { - writer.writeMessage( + f = message.getPublicKeyHashesList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; +/** + * repeated bytes public_key_hashes = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes public_key_hashes = 1; + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getPublicKeyHashesList())); +}; + + +/** + * repeated bytes public_key_hashes = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getPublicKeyHashesList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setPublicKeyHashesList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.addPublicKeyHashes = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.clearPublicKeyHashesList = function() { + return this.setPublicKeyHashesList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentitiesByPublicKeyHashesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); +}; @@ -10669,8 +15458,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); }; @@ -10679,14 +15468,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { var f, obj = { - date: jspb.Message.getFieldWithDefault(msg, 1, 0), - value: msg.getValue_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -10700,23 +15488,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10724,12 +15512,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setDate(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -10744,9 +15529,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10754,97 +15539,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDate(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 2, - f - ); - } -}; - - -/** - * optional uint64 date = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getDate = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.setDate = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional bytes value = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * optional bytes value = 2; - * This is a type-conversion wrapper around `getValue()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); -}; - - -/** - * optional bytes value = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter + ); + } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10860,8 +15572,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject(opt_includeInstance, this); }; @@ -10870,14 +15582,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.toObject, includeInstance) + publicKeyHash: msg.getPublicKeyHash_asB64(), + value: (f = msg.getValue()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -10891,23 +15603,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10915,9 +15627,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); + break; + case 2: + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setValue(value); break; default: reader.skipField(); @@ -10932,9 +15648,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10942,123 +15658,97 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); + f = message.getPublicKeyHash_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeBytes( 1, + f + ); + } + f = message.getValue(); + if (f != null) { + writer.writeMessage( + 2, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.serializeBinaryToWriter + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; /** - * repeated DataContractHistoryEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} returns this + * optional bytes public_key_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional DataContractHistory data_contract_history = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getDataContractHistory = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setDataContractHistory = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearDataContractHistory = function() { - return this.setDataContractHistory(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasDataContractHistory = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional google.protobuf.BytesValue value = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getValue = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); }; @@ -11066,74 +15756,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearPr * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.hasValue = function() { return jspb.Message.getField(this, 2) != null; }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; -}; - - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} + * List of repeated fields within this message type. + * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[6,7]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase = { - START_NOT_SET: 0, - START_AFTER: 6, - START_AT: 7 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_ = [1]; @@ -11150,8 +15784,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(opt_includeInstance, this); }; @@ -11160,20 +15794,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject = function(includeInstance, msg) { var f, obj = { - dataContractId: msg.getDataContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - where: msg.getWhere_asB64(), - orderBy: msg.getOrderBy_asB64(), - limit: jspb.Message.getFieldWithDefault(msg, 5, 0), - startAfter: msg.getStartAfter_asB64(), - startAt: msg.getStartAt_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject, includeInstance) }; if (includeInstance) { @@ -11187,23 +15815,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11211,36 +15839,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContractId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); - break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWhere(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setOrderBy(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); - break; - case 6: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAfter(value); - break; - case 7: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAt(value); - break; - case 8: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); break; default: reader.skipField(); @@ -11255,9 +15856,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11265,281 +15866,328 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractId_asU8(); + f = message.getIdentityEntriesList(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedMessage( 1, - f - ); - } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getWhere_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getOrderBy_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getLimit(); - if (f !== 0) { - writer.writeUint32( - 5, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); - if (f != null) { - writer.writeBytes( - 6, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); - if (f != null) { - writer.writeBytes( - 7, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 8, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter ); } }; /** - * optional bytes data_contract_id = 1; - * @return {string} + * repeated PublicKeyHashIdentityEntry identity_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDataContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, 1)); }; /** - * optional bytes data_contract_id = 1; - * This is a type-conversion wrapper around `getDataContractId()` - * @return {string} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDataContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContractId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, opt_index); }; /** - * optional bytes data_contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContractId()` - * @return {!Uint8Array} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDataContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContractId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setDataContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional string document_type = 2; - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(opt_includeInstance, this); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes where = 3; - * @return {string} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getWhere = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * optional bytes where = 3; - * This is a type-conversion wrapper around `getWhere()` - * @return {string} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getWhere_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getWhere())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader); + msg.setIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional bytes where = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getWhere()` + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getWhere_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getWhere())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setWhere = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional bytes order_by = 4; - * @return {string} + * optional IdentitiesByPublicKeyHashes identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getOrderBy = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, 1)); }; /** - * optional bytes order_by = 4; - * This is a type-conversion wrapper around `getOrderBy()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getOrderBy_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getOrderBy())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** - * optional bytes order_by = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getOrderBy()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getOrderBy_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getOrderBy())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setOrderBy = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional uint32 limit = 5; - * @return {number} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setLimit = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** - * optional bytes start_after = 6; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAfter = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bytes start_after = 6; - * This is a type-conversion wrapper around `getStartAfter()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAfter_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes start_after = 6; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAfter()` - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAfter_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setStartAfter = function(value) { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearStartAfter = function() { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -11547,118 +16195,190 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearStartAfter = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasStartAfter = function() { - return jspb.Message.getField(this, 6) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional bytes start_at = 7; - * @return {string} + * optional GetIdentitiesByPublicKeyHashesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, 1)); }; /** - * optional bytes start_at = 7; - * This is a type-conversion wrapper around `getStartAt()` - * @return {string} + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAt_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional bytes start_at = 7; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAt()` - * @return {!Uint8Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAt_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAt())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setStartAt = function(value) { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearStartAt = function() { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasStartAt = function() { - return jspb.Message.getField(this, 7) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); }; /** - * optional bool prove = 8; - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase = { - RESULT_NOT_SET: 0, - DOCUMENTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -11672,8 +16392,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); }; @@ -11682,15 +16402,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + publicKeyHash: msg.getPublicKeyHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -11704,23 +16423,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11728,19 +16447,12 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinaryFromReader); - msg.setDocuments(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -11755,9 +16467,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11765,46 +16477,151 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocuments(); - if (f != null) { - writer.writeMessage( + f = message.getPublicKeyHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; +/** + * optional bytes public_key_hash = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); +}; + + +/** + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +}; @@ -11821,8 +16638,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); }; @@ -11831,13 +16648,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { var f, obj = { - documentsList: msg.getDocumentsList_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -11851,23 +16668,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11875,8 +16692,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addDocuments(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -11891,9 +16709,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11901,401 +16719,357 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocumentsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter ); } }; -/** - * repeated bytes documents = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.getDocumentsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - /** - * repeated bytes documents = 1; - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.getDocumentsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getDocumentsList())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; /** - * repeated bytes documents = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.getDocumentsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getDocumentsList())); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 }; - /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.setDocumentsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); }; -/** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.addDocuments = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); }; /** - * optional Documents documents = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getDocuments = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setDocuments = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearDocuments = function() { - return this.setDocuments(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasDocuments = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes identity = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.repeatedFields_ = [1]; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { - var f, obj = { - publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { + return jspb.Message.getField(this, 1) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addPublicKeyHashes(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPublicKeyHashesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * repeated bytes public_key_hashes = 1; - * @return {!Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getPublicKeyHashesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * repeated bytes public_key_hashes = 1; - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getPublicKeyHashesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getPublicKeyHashesList())); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * repeated bytes public_key_hashes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getPublicKeyHashesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getPublicKeyHashesList())); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setPublicKeyHashesList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.addPublicKeyHashes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearPublicKeyHashesList = function() { - return this.setPublicKeyHashesList([]); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); }; /** - * optional bool prove = 2; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -12308,22 +17082,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0])); }; @@ -12341,8 +17114,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); }; @@ -12351,15 +17124,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12373,23 +17144,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12397,19 +17168,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinaryFromReader); - msg.setIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -12424,9 +17185,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12434,47 +17195,24 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentities(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -12490,8 +17228,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); }; @@ -12500,13 +17238,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: msg.getIdentitiesList_asB64() + stateTransitionHash: msg.getStateTransitionHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -12520,23 +17259,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12545,7 +17284,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIdentities(value); + msg.setStateTransitionHash(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -12560,9 +17303,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12570,145 +17313,114 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList_asU8(); + f = message.getStateTransitionHash_asU8(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeBytes( 1, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes identities = 1; - * @return {!Array} + * optional bytes state_transition_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.getIdentitiesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * repeated bytes identities = 1; - * This is a type-conversion wrapper around `getIdentitiesList()` - * @return {!Array} + * optional bytes state_transition_hash = 1; + * This is a type-conversion wrapper around `getStateTransitionHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.getIdentitiesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdentitiesList())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStateTransitionHash())); }; /** - * repeated bytes identities = 1; + * optional bytes state_transition_hash = 1; * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentitiesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.getIdentitiesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdentitiesList())); -}; - - -/** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.setIdentitiesList = function(value) { - return jspb.Message.setField(this, 1, value || []); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.addIdentities = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); -}; - - -/** - * optional Identities identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStateTransitionHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities, 1)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStateTransitionHash())); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearIdentities = function() { - return this.setIdentities(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional WaitForStateTransitionResultRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -12716,51 +17428,39 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Returns whether this field is set. - * @return {boolean} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -12774,8 +17474,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); }; @@ -12784,14 +17484,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12805,23 +17504,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12829,12 +17528,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -12849,9 +17545,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12859,89 +17555,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes public_key_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getPublicKeyHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getPublicKeyHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); -}; - - -/** - * optional bytes public_key_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getPublicKeyHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.setPublicKeyHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - /** * Oneof group definitions for this message. Each group defines the field @@ -12951,22 +17581,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.se * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { RESULT_NOT_SET: 0, - IDENTITY: 1, + ERROR: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0])); }; @@ -12984,8 +17614,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); }; @@ -12994,13 +17624,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), + error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -13016,23 +17646,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13040,8 +17670,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); + msg.setError(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -13066,9 +17697,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13076,17 +17707,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getError(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter ); } f = message.getProof(); @@ -13109,53 +17741,30 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.serializeBi /** - * optional bytes identity = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getIdentity = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); -}; - - -/** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` - * @return {!Uint8Array} + * optional StateTransitionBroadcastError error = 1; + * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getError = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setError = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { + return this.setError(undefined); }; @@ -13163,7 +17772,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.hasIdentity = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { return jspb.Message.getField(this, 1) != null; }; @@ -13172,7 +17781,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.h * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -13180,18 +17789,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.g /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -13200,7 +17809,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -13209,7 +17818,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.h * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -13217,34 +17826,96 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.g /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional WaitForStateTransitionResultResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Returns whether this field is set. - * @return {boolean} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13258,8 +17929,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); }; @@ -13268,14 +17939,13 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { var f, obj = { - stateTransitionHash: msg.getStateTransitionHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13289,23 +17959,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13313,12 +17983,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransitionHash(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13333,9 +18000,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13343,115 +18010,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransitionHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes state_transition_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getStateTransitionHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes state_transition_hash = 1; - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getStateTransitionHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransitionHash())); -}; - - -/** - * optional bytes state_transition_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getStateTransitionHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransitionHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setStateTransitionHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase = { - RESULT_NOT_SET: 0, - ERROR: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); -}; @@ -13468,8 +18043,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this); }; @@ -13478,15 +18053,14 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -13500,23 +18074,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13524,19 +18098,12 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); - msg.setError(value); + var value = /** @type {number} */ (reader.readInt32()); + msg.setHeight(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -13551,9 +18118,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13561,101 +18128,90 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getError(); - if (f != null) { - writer.writeMessage( + f = message.getHeight(); + if (f !== 0) { + writer.writeInt32( 1, - f, - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; /** - * optional StateTransitionBroadcastError error = 1; - * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * optional int32 height = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getError = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setError = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearError = function() { - return this.setError(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasError = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional GetConsensusParamsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -13663,51 +18219,39 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_ = [[1]]; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Returns whether this field is set. - * @return {boolean} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13721,8 +18265,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); }; @@ -13731,15 +18275,13 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { var f, obj = { - maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), - timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13753,23 +18295,23 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ConsensusParamsBlock; - return proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13777,16 +18319,9 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxGas(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTimeIotaMs(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13801,9 +18336,9 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13811,90 +18346,23 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getMaxGas(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getTimeIotaMs(); - if (f.length > 0) { - writer.writeString( - 3, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter ); } }; -/** - * optional string max_bytes = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} returns this - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string max_gas = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.getMaxGas = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} returns this - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.setMaxGas = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string time_iota_ms = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} returns this - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - @@ -13911,8 +18379,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); }; @@ -13921,15 +18389,15 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { var f, obj = { - maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), - maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") + maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), + timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -13943,23 +18411,23 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence; - return proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13968,15 +18436,15 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromRea switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeNumBlocks(value); + msg.setMaxBytes(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeDuration(value); + msg.setMaxGas(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); + msg.setTimeIotaMs(value); break; default: reader.skipField(); @@ -13991,9 +18459,9 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14001,27 +18469,27 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxAgeNumBlocks(); + f = message.getMaxBytes(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getMaxAgeDuration(); + f = message.getMaxGas(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getMaxBytes(); + f = message.getTimeIotaMs(); if (f.length > 0) { writer.writeString( 3, @@ -14032,55 +18500,55 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter /** - * optional string max_age_num_blocks = 1; + * optional string max_bytes = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string max_age_duration = 2; + * optional string max_gas = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string max_bytes = 3; + * optional string time_iota_ms = 3; * @return {string} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.getMaxBytes = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; @@ -14101,8 +18569,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); }; @@ -14111,14 +18579,15 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), + maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -14132,23 +18601,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14156,12 +18625,16 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readInt64()); - msg.setHeight(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeNumBlocks(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeDuration(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxBytes(value); break; default: reader.skipField(); @@ -14176,9 +18649,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14186,62 +18659,87 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeInt64( + f = message.getMaxAgeNumBlocks(); + if (f.length > 0) { + writer.writeString( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getMaxAgeDuration(); + if (f.length > 0) { + writer.writeString( 2, f ); } + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional int64 height = 1; - * @return {number} + * optional string max_age_num_blocks = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} + * optional string max_age_duration = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string max_bytes = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; @@ -14261,8 +18759,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); }; @@ -14271,14 +18769,14 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject(includeInstance, f), - evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject(includeInstance, f) + block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), + evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) }; if (includeInstance) { @@ -14292,23 +18790,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14316,13 +18814,13 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.ConsensusParamsBlock; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); msg.setBlock(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); msg.setEvidence(value); break; default: @@ -14338,9 +18836,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14348,18 +18846,18 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getBlock(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter ); } f = message.getEvidence(); @@ -14367,7 +18865,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWrit writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter ); } }; @@ -14375,28 +18873,28 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWrit /** * optional ConsensusParamsBlock block = 1; - * @return {?proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getBlock = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ConsensusParamsBlock, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getBlock = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ConsensusParamsBlock|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setBlock = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setBlock = function(value) { return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearBlock = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { return this.setBlock(undefined); }; @@ -14405,35 +18903,35 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearBlock * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasBlock = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { return jspb.Message.getField(this, 1) != null; }; /** * optional ConsensusParamsEvidence evidence = 2; - * @return {?proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getEvidence = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence, 2)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setEvidence = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) { return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearEvidence = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { return this.setEvidence(undefined); }; @@ -14442,9 +18940,46 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearEviden * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasEvidence = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { return jspb.Message.getField(this, 2) != null; }; +/** + * optional GetConsensusParamsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + goog.object.extend(exports, proto.org.dash.platform.dapi.v0); diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index 85cac70667..894d976ffc 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h @@ -28,28 +28,51 @@ CF_EXTERN_C_BEGIN @class AllKeys; -@class ConsensusParamsBlock; -@class ConsensusParamsEvidence; +@class GPBBytesValue; @class GPBUInt32Value; -@class GPBUInt64Value; -@class GetDataContractHistoryResponse_DataContractHistory; -@class GetDataContractHistoryResponse_DataContractHistoryEntry; +@class GetConsensusParamsRequest_GetConsensusParamsRequestV0; +@class GetConsensusParamsResponse_ConsensusParamsBlock; +@class GetConsensusParamsResponse_ConsensusParamsEvidence; +@class GetConsensusParamsResponse_GetConsensusParamsResponseV0; +@class GetDataContractHistoryRequest_GetDataContractHistoryRequestV0; +@class GetDataContractHistoryResponse_GetDataContractHistoryResponseV0; +@class GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory; +@class GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry; +@class GetDataContractRequest_GetDataContractRequestV0; +@class GetDataContractResponse_GetDataContractResponseV0; +@class GetDataContractsRequest_GetDataContractsRequestV0; @class GetDataContractsResponse_DataContractEntry; -@class GetDataContractsResponse_DataContractValue; @class GetDataContractsResponse_DataContracts; -@class GetDocumentsResponse_Documents; -@class GetIdentitiesByPublicKeyHashesResponse_Identities; -@class GetIdentitiesKeysResponse_PublicKey; -@class GetIdentitiesKeysResponse_PublicKeyEntries; -@class GetIdentitiesKeysResponse_PublicKeyEntry; +@class GetDataContractsResponse_GetDataContractsResponseV0; +@class GetDocumentsRequest_GetDocumentsRequestV0; +@class GetDocumentsResponse_GetDocumentsResponseV0; +@class GetDocumentsResponse_GetDocumentsResponseV0_Documents; +@class GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0; +@class GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0; +@class GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes; +@class GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry; +@class GetIdentitiesRequest_GetIdentitiesRequestV0; +@class GetIdentitiesResponse_GetIdentitiesResponseV0; @class GetIdentitiesResponse_Identities; @class GetIdentitiesResponse_IdentityEntry; @class GetIdentitiesResponse_IdentityValue; -@class GetIdentityBalanceAndRevisionResponse_BalanceAndRevision; -@class GetIdentityKeysResponse_Keys; -@class GetProofsRequest_ContractRequest; -@class GetProofsRequest_DocumentRequest; -@class GetProofsRequest_IdentityRequest; +@class GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0; +@class GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0; +@class GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision; +@class GetIdentityBalanceRequest_GetIdentityBalanceRequestV0; +@class GetIdentityBalanceResponse_GetIdentityBalanceResponseV0; +@class GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0; +@class GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0; +@class GetIdentityKeysRequest_GetIdentityKeysRequestV0; +@class GetIdentityKeysResponse_GetIdentityKeysResponseV0; +@class GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys; +@class GetIdentityRequest_GetIdentityRequestV0; +@class GetIdentityResponse_GetIdentityResponseV0; +@class GetProofsRequest_GetProofsRequestV0; +@class GetProofsRequest_GetProofsRequestV0_ContractRequest; +@class GetProofsRequest_GetProofsRequestV0_DocumentRequest; +@class GetProofsRequest_GetProofsRequestV0_IdentityRequest; +@class GetProofsResponse_GetProofsResponseV0; @class KeyRequestType; @class Proof; @class ResponseMetadata; @@ -57,6 +80,8 @@ CF_EXTERN_C_BEGIN @class SecurityLevelMap; @class SpecificKeys; @class StateTransitionBroadcastError; +@class WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0; +@class WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0; NS_ASSUME_NONNULL_BEGIN @@ -81,47 +106,27 @@ GPBEnumDescriptor *SecurityLevelMap_KeyKindRequestType_EnumDescriptor(void); **/ BOOL SecurityLevelMap_KeyKindRequestType_IsValidValue(int32_t value); -#pragma mark - Enum GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType +#pragma mark - Enum GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type -typedef GPB_ENUM(GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType) { +typedef GPB_ENUM(GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type) { /** * Value used if any message's field encounters a value that is not defined * by this enum. The message will also have C functions to get/set the rawValue * of the field. **/ - GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_CurrentKeyOfKindRequest = 0, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_FullIdentity = 0, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Balance = 1, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Keys = 2, }; -GPBEnumDescriptor *GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_EnumDescriptor(void); +GPBEnumDescriptor *GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_EnumDescriptor(void); /** * Checks to see if the given value is defined by the enum or was not known at * the time this source was generated. **/ -BOOL GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_IsValidValue(int32_t value); - -#pragma mark - Enum GetProofsRequest_IdentityRequest_Type - -typedef GPB_ENUM(GetProofsRequest_IdentityRequest_Type) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - GetProofsRequest_IdentityRequest_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - GetProofsRequest_IdentityRequest_Type_FullIdentity = 0, - GetProofsRequest_IdentityRequest_Type_Balance = 1, - GetProofsRequest_IdentityRequest_Type_Keys = 2, -}; - -GPBEnumDescriptor *GetProofsRequest_IdentityRequest_Type_EnumDescriptor(void); - -/** - * Checks to see if the given value is defined by the enum or was not known at - * the time this source was generated. - **/ -BOOL GetProofsRequest_IdentityRequest_Type_IsValidValue(int32_t value); +BOOL GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_IsValidValue(int32_t value); #pragma mark - PlatformRoot @@ -228,12 +233,114 @@ GPB_FINAL @interface BroadcastStateTransitionResponse : GPBMessage #pragma mark - GetIdentityRequest typedef GPB_ENUM(GetIdentityRequest_FieldNumber) { - GetIdentityRequest_FieldNumber_Id_p = 1, - GetIdentityRequest_FieldNumber_Prove = 2, + GetIdentityRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentityRequest_Version_OneOfCase) { + GetIdentityRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentityRequest : GPBMessage +@property(nonatomic, readonly) GetIdentityRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityRequest_GetIdentityRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityRequest_ClearVersionOneOfCase(GetIdentityRequest *message); + +#pragma mark - GetIdentityRequest_GetIdentityRequestV0 + +typedef GPB_ENUM(GetIdentityRequest_GetIdentityRequestV0_FieldNumber) { + GetIdentityRequest_GetIdentityRequestV0_FieldNumber_Id_p = 1, + GetIdentityRequest_GetIdentityRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetIdentityRequest_GetIdentityRequestV0 : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *id_p; + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetIdentityBalanceRequest + +typedef GPB_ENUM(GetIdentityBalanceRequest_FieldNumber) { + GetIdentityBalanceRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentityBalanceRequest_Version_OneOfCase) { + GetIdentityBalanceRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityBalanceRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetIdentityBalanceRequest : GPBMessage + +@property(nonatomic, readonly) GetIdentityBalanceRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityBalanceRequest_GetIdentityBalanceRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityBalanceRequest_ClearVersionOneOfCase(GetIdentityBalanceRequest *message); + +#pragma mark - GetIdentityBalanceRequest_GetIdentityBalanceRequestV0 + +typedef GPB_ENUM(GetIdentityBalanceRequest_GetIdentityBalanceRequestV0_FieldNumber) { + GetIdentityBalanceRequest_GetIdentityBalanceRequestV0_FieldNumber_Id_p = 1, + GetIdentityBalanceRequest_GetIdentityBalanceRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetIdentityBalanceRequest_GetIdentityBalanceRequestV0 : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *id_p; + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetIdentityBalanceAndRevisionRequest + +typedef GPB_ENUM(GetIdentityBalanceAndRevisionRequest_FieldNumber) { + GetIdentityBalanceAndRevisionRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentityBalanceAndRevisionRequest_Version_OneOfCase) { + GetIdentityBalanceAndRevisionRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityBalanceAndRevisionRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetIdentityBalanceAndRevisionRequest : GPBMessage + +@property(nonatomic, readonly) GetIdentityBalanceAndRevisionRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityBalanceAndRevisionRequest_ClearVersionOneOfCase(GetIdentityBalanceAndRevisionRequest *message); + +#pragma mark - GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0 + +typedef GPB_ENUM(GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0_FieldNumber) { + GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0_FieldNumber_Id_p = 1, + GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0 : GPBMessage + @property(nonatomic, readwrite, copy, null_resettable) NSData *id_p; @property(nonatomic, readwrite) BOOL prove; @@ -243,20 +350,44 @@ GPB_FINAL @interface GetIdentityRequest : GPBMessage #pragma mark - GetIdentityResponse typedef GPB_ENUM(GetIdentityResponse_FieldNumber) { - GetIdentityResponse_FieldNumber_Identity = 1, - GetIdentityResponse_FieldNumber_Proof = 2, - GetIdentityResponse_FieldNumber_Metadata = 3, + GetIdentityResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetIdentityResponse_Result_OneOfCase) { - GetIdentityResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentityResponse_Result_OneOfCase_Identity = 1, - GetIdentityResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentityResponse_Version_OneOfCase) { + GetIdentityResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentityResponse : GPBMessage -@property(nonatomic, readonly) GetIdentityResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetIdentityResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityResponse_GetIdentityResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityResponse_ClearVersionOneOfCase(GetIdentityResponse *message); + +#pragma mark - GetIdentityResponse_GetIdentityResponseV0 + +typedef GPB_ENUM(GetIdentityResponse_GetIdentityResponseV0_FieldNumber) { + GetIdentityResponse_GetIdentityResponseV0_FieldNumber_Identity = 1, + GetIdentityResponse_GetIdentityResponseV0_FieldNumber_Proof = 2, + GetIdentityResponse_GetIdentityResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetIdentityResponse_GetIdentityResponseV0_Result_OneOfCase) { + GetIdentityResponse_GetIdentityResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityResponse_GetIdentityResponseV0_Result_OneOfCase_Identity = 1, + GetIdentityResponse_GetIdentityResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetIdentityResponse_GetIdentityResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetIdentityResponse_GetIdentityResponseV0_Result_OneOfCase resultOneOfCase; @property(nonatomic, readwrite, copy, null_resettable) NSData *identity; @@ -271,17 +402,41 @@ GPB_FINAL @interface GetIdentityResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetIdentityResponse_ClearResultOneOfCase(GetIdentityResponse *message); +void GetIdentityResponse_GetIdentityResponseV0_ClearResultOneOfCase(GetIdentityResponse_GetIdentityResponseV0 *message); #pragma mark - GetIdentitiesRequest typedef GPB_ENUM(GetIdentitiesRequest_FieldNumber) { - GetIdentitiesRequest_FieldNumber_IdsArray = 1, - GetIdentitiesRequest_FieldNumber_Prove = 2, + GetIdentitiesRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentitiesRequest_Version_OneOfCase) { + GetIdentitiesRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentitiesRequest : GPBMessage +@property(nonatomic, readonly) GetIdentitiesRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesRequest_GetIdentitiesRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentitiesRequest_ClearVersionOneOfCase(GetIdentitiesRequest *message); + +#pragma mark - GetIdentitiesRequest_GetIdentitiesRequestV0 + +typedef GPB_ENUM(GetIdentitiesRequest_GetIdentitiesRequestV0_FieldNumber) { + GetIdentitiesRequest_GetIdentitiesRequestV0_FieldNumber_IdsArray = 1, + GetIdentitiesRequest_GetIdentitiesRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetIdentitiesRequest_GetIdentitiesRequestV0 : GPBMessage + @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *idsArray; /** The number of items in @c idsArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger idsArray_Count; @@ -293,35 +448,26 @@ GPB_FINAL @interface GetIdentitiesRequest : GPBMessage #pragma mark - GetIdentitiesResponse typedef GPB_ENUM(GetIdentitiesResponse_FieldNumber) { - GetIdentitiesResponse_FieldNumber_Identities = 1, - GetIdentitiesResponse_FieldNumber_Proof = 2, - GetIdentitiesResponse_FieldNumber_Metadata = 3, + GetIdentitiesResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetIdentitiesResponse_Result_OneOfCase) { - GetIdentitiesResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentitiesResponse_Result_OneOfCase_Identities = 1, - GetIdentitiesResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentitiesResponse_Version_OneOfCase) { + GetIdentitiesResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentitiesResponse : GPBMessage -@property(nonatomic, readonly) GetIdentitiesResponse_Result_OneOfCase resultOneOfCase; - -@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesResponse_Identities *identities; - -@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; +@property(nonatomic, readonly) GetIdentitiesResponse_Version_OneOfCase versionOneOfCase; -@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; -/** Test to see if @c metadata has been set. */ -@property(nonatomic, readwrite) BOOL hasMetadata; +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesResponse_GetIdentitiesResponseV0 *v0; @end /** - * Clears whatever value was set for the oneof 'result'. + * Clears whatever value was set for the oneof 'version'. **/ -void GetIdentitiesResponse_ClearResultOneOfCase(GetIdentitiesResponse *message); +void GetIdentitiesResponse_ClearVersionOneOfCase(GetIdentitiesResponse *message); #pragma mark - GetIdentitiesResponse_IdentityValue @@ -366,25 +512,82 @@ GPB_FINAL @interface GetIdentitiesResponse_Identities : GPBMessage @end +#pragma mark - GetIdentitiesResponse_GetIdentitiesResponseV0 + +typedef GPB_ENUM(GetIdentitiesResponse_GetIdentitiesResponseV0_FieldNumber) { + GetIdentitiesResponse_GetIdentitiesResponseV0_FieldNumber_Identities = 1, + GetIdentitiesResponse_GetIdentitiesResponseV0_FieldNumber_Proof = 2, + GetIdentitiesResponse_GetIdentitiesResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetIdentitiesResponse_GetIdentitiesResponseV0_Result_OneOfCase) { + GetIdentitiesResponse_GetIdentitiesResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesResponse_GetIdentitiesResponseV0_Result_OneOfCase_Identities = 1, + GetIdentitiesResponse_GetIdentitiesResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetIdentitiesResponse_GetIdentitiesResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetIdentitiesResponse_GetIdentitiesResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesResponse_Identities *identities; + +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetIdentitiesResponse_GetIdentitiesResponseV0_ClearResultOneOfCase(GetIdentitiesResponse_GetIdentitiesResponseV0 *message); + #pragma mark - GetIdentityBalanceResponse typedef GPB_ENUM(GetIdentityBalanceResponse_FieldNumber) { - GetIdentityBalanceResponse_FieldNumber_Balance = 1, - GetIdentityBalanceResponse_FieldNumber_Proof = 2, - GetIdentityBalanceResponse_FieldNumber_Metadata = 3, + GetIdentityBalanceResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetIdentityBalanceResponse_Result_OneOfCase) { - GetIdentityBalanceResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentityBalanceResponse_Result_OneOfCase_Balance = 1, - GetIdentityBalanceResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentityBalanceResponse_Version_OneOfCase) { + GetIdentityBalanceResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityBalanceResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentityBalanceResponse : GPBMessage -@property(nonatomic, readonly) GetIdentityBalanceResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetIdentityBalanceResponse_Version_OneOfCase versionOneOfCase; -@property(nonatomic, readwrite, strong, null_resettable) GPBUInt64Value *balance; +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityBalanceResponse_ClearVersionOneOfCase(GetIdentityBalanceResponse *message); + +#pragma mark - GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 + +typedef GPB_ENUM(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_FieldNumber) { + GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_FieldNumber_Balance = 1, + GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_FieldNumber_Proof = 2, + GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_Result_OneOfCase) { + GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_Result_OneOfCase_Balance = 1, + GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite) uint64_t balance; @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; @@ -397,27 +600,51 @@ GPB_FINAL @interface GetIdentityBalanceResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetIdentityBalanceResponse_ClearResultOneOfCase(GetIdentityBalanceResponse *message); +void GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_ClearResultOneOfCase(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 *message); #pragma mark - GetIdentityBalanceAndRevisionResponse typedef GPB_ENUM(GetIdentityBalanceAndRevisionResponse_FieldNumber) { - GetIdentityBalanceAndRevisionResponse_FieldNumber_BalanceAndRevision = 1, - GetIdentityBalanceAndRevisionResponse_FieldNumber_Proof = 2, - GetIdentityBalanceAndRevisionResponse_FieldNumber_Metadata = 3, + GetIdentityBalanceAndRevisionResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetIdentityBalanceAndRevisionResponse_Result_OneOfCase) { - GetIdentityBalanceAndRevisionResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentityBalanceAndRevisionResponse_Result_OneOfCase_BalanceAndRevision = 1, - GetIdentityBalanceAndRevisionResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentityBalanceAndRevisionResponse_Version_OneOfCase) { + GetIdentityBalanceAndRevisionResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityBalanceAndRevisionResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentityBalanceAndRevisionResponse : GPBMessage -@property(nonatomic, readonly) GetIdentityBalanceAndRevisionResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetIdentityBalanceAndRevisionResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityBalanceAndRevisionResponse_ClearVersionOneOfCase(GetIdentityBalanceAndRevisionResponse *message); + +#pragma mark - GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 + +typedef GPB_ENUM(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_FieldNumber) { + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_FieldNumber_BalanceAndRevision = 1, + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_FieldNumber_Proof = 2, + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_Result_OneOfCase) { + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_Result_OneOfCase_BalanceAndRevision = 1, + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_Result_OneOfCase resultOneOfCase; -@property(nonatomic, readwrite, strong, null_resettable) GetIdentityBalanceAndRevisionResponse_BalanceAndRevision *balanceAndRevision; +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision *balanceAndRevision; @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; @@ -430,24 +657,20 @@ GPB_FINAL @interface GetIdentityBalanceAndRevisionResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetIdentityBalanceAndRevisionResponse_ClearResultOneOfCase(GetIdentityBalanceAndRevisionResponse *message); +void GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_ClearResultOneOfCase(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 *message); -#pragma mark - GetIdentityBalanceAndRevisionResponse_BalanceAndRevision +#pragma mark - GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision -typedef GPB_ENUM(GetIdentityBalanceAndRevisionResponse_BalanceAndRevision_FieldNumber) { - GetIdentityBalanceAndRevisionResponse_BalanceAndRevision_FieldNumber_Balance = 1, - GetIdentityBalanceAndRevisionResponse_BalanceAndRevision_FieldNumber_Revision = 2, +typedef GPB_ENUM(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision_FieldNumber) { + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision_FieldNumber_Balance = 1, + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision_FieldNumber_Revision = 2, }; -GPB_FINAL @interface GetIdentityBalanceAndRevisionResponse_BalanceAndRevision : GPBMessage +GPB_FINAL @interface GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision : GPBMessage -@property(nonatomic, readwrite, strong, null_resettable) GPBUInt64Value *balance; -/** Test to see if @c balance has been set. */ -@property(nonatomic, readwrite) BOOL hasBalance; +@property(nonatomic, readwrite) uint64_t balance; -@property(nonatomic, readwrite, strong, null_resettable) GPBUInt64Value *revision; -/** Test to see if @c revision has been set. */ -@property(nonatomic, readwrite) BOOL hasRevision; +@property(nonatomic, readwrite) uint64_t revision; @end @@ -535,95 +758,40 @@ GPB_FINAL @interface SecurityLevelMap : GPBMessage #pragma mark - GetIdentityKeysRequest typedef GPB_ENUM(GetIdentityKeysRequest_FieldNumber) { - GetIdentityKeysRequest_FieldNumber_IdentityId = 1, - GetIdentityKeysRequest_FieldNumber_RequestType = 2, - GetIdentityKeysRequest_FieldNumber_Limit = 3, - GetIdentityKeysRequest_FieldNumber_Offset = 4, - GetIdentityKeysRequest_FieldNumber_Prove = 5, -}; - -GPB_FINAL @interface GetIdentityKeysRequest : GPBMessage - -@property(nonatomic, readwrite, copy, null_resettable) NSData *identityId; - -@property(nonatomic, readwrite, strong, null_resettable) KeyRequestType *requestType; -/** Test to see if @c requestType has been set. */ -@property(nonatomic, readwrite) BOOL hasRequestType; - -@property(nonatomic, readwrite, strong, null_resettable) GPBUInt32Value *limit; -/** Test to see if @c limit has been set. */ -@property(nonatomic, readwrite) BOOL hasLimit; - -@property(nonatomic, readwrite, strong, null_resettable) GPBUInt32Value *offset; -/** Test to see if @c offset has been set. */ -@property(nonatomic, readwrite) BOOL hasOffset; - -@property(nonatomic, readwrite) BOOL prove; - -@end - -#pragma mark - GetIdentityKeysResponse - -typedef GPB_ENUM(GetIdentityKeysResponse_FieldNumber) { - GetIdentityKeysResponse_FieldNumber_Keys = 1, - GetIdentityKeysResponse_FieldNumber_Proof = 2, - GetIdentityKeysResponse_FieldNumber_Metadata = 3, + GetIdentityKeysRequest_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetIdentityKeysResponse_Result_OneOfCase) { - GetIdentityKeysResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentityKeysResponse_Result_OneOfCase_Keys = 1, - GetIdentityKeysResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentityKeysRequest_Version_OneOfCase) { + GetIdentityKeysRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityKeysRequest_Version_OneOfCase_V0 = 1, }; -GPB_FINAL @interface GetIdentityKeysResponse : GPBMessage - -@property(nonatomic, readonly) GetIdentityKeysResponse_Result_OneOfCase resultOneOfCase; - -@property(nonatomic, readwrite, strong, null_resettable) GetIdentityKeysResponse_Keys *keys; +GPB_FINAL @interface GetIdentityKeysRequest : GPBMessage -@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; +@property(nonatomic, readonly) GetIdentityKeysRequest_Version_OneOfCase versionOneOfCase; -@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; -/** Test to see if @c metadata has been set. */ -@property(nonatomic, readwrite) BOOL hasMetadata; +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityKeysRequest_GetIdentityKeysRequestV0 *v0; @end /** - * Clears whatever value was set for the oneof 'result'. + * Clears whatever value was set for the oneof 'version'. **/ -void GetIdentityKeysResponse_ClearResultOneOfCase(GetIdentityKeysResponse *message); - -#pragma mark - GetIdentityKeysResponse_Keys - -typedef GPB_ENUM(GetIdentityKeysResponse_Keys_FieldNumber) { - GetIdentityKeysResponse_Keys_FieldNumber_KeysBytesArray = 1, -}; - -GPB_FINAL @interface GetIdentityKeysResponse_Keys : GPBMessage +void GetIdentityKeysRequest_ClearVersionOneOfCase(GetIdentityKeysRequest *message); -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *keysBytesArray; -/** The number of items in @c keysBytesArray without causing the array to be created. */ -@property(nonatomic, readonly) NSUInteger keysBytesArray_Count; - -@end - -#pragma mark - GetIdentitiesKeysRequest +#pragma mark - GetIdentityKeysRequest_GetIdentityKeysRequestV0 -typedef GPB_ENUM(GetIdentitiesKeysRequest_FieldNumber) { - GetIdentitiesKeysRequest_FieldNumber_IdentityIdsArray = 1, - GetIdentitiesKeysRequest_FieldNumber_RequestType = 2, - GetIdentitiesKeysRequest_FieldNumber_Limit = 3, - GetIdentitiesKeysRequest_FieldNumber_Offset = 4, - GetIdentitiesKeysRequest_FieldNumber_Prove = 5, +typedef GPB_ENUM(GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber) { + GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_IdentityId = 1, + GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_RequestType = 2, + GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_Limit = 3, + GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_Offset = 4, + GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_Prove = 5, }; -GPB_FINAL @interface GetIdentitiesKeysRequest : GPBMessage +GPB_FINAL @interface GetIdentityKeysRequest_GetIdentityKeysRequestV0 : GPBMessage -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *identityIdsArray; -/** The number of items in @c identityIdsArray without causing the array to be created. */ -@property(nonatomic, readonly) NSUInteger identityIdsArray_Count; +@property(nonatomic, readwrite, copy, null_resettable) NSData *identityId; @property(nonatomic, readwrite, strong, null_resettable) KeyRequestType *requestType; /** Test to see if @c requestType has been set. */ @@ -641,40 +809,49 @@ GPB_FINAL @interface GetIdentitiesKeysRequest : GPBMessage @end -#pragma mark - GetIdentitiesKeysRequest_SecurityLevelMap +#pragma mark - GetIdentityKeysResponse + +typedef GPB_ENUM(GetIdentityKeysResponse_FieldNumber) { + GetIdentityKeysResponse_FieldNumber_V0 = 1, +}; -typedef GPB_ENUM(GetIdentitiesKeysRequest_SecurityLevelMap_FieldNumber) { - GetIdentitiesKeysRequest_SecurityLevelMap_FieldNumber_SecurityLevelMap = 1, +typedef GPB_ENUM(GetIdentityKeysResponse_Version_OneOfCase) { + GetIdentityKeysResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityKeysResponse_Version_OneOfCase_V0 = 1, }; -GPB_FINAL @interface GetIdentitiesKeysRequest_SecurityLevelMap : GPBMessage +GPB_FINAL @interface GetIdentityKeysResponse : GPBMessage + +@property(nonatomic, readonly) GetIdentityKeysResponse_Version_OneOfCase versionOneOfCase; -// |securityLevelMap| values are |GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType| -@property(nonatomic, readwrite, strong, null_resettable) GPBUInt32EnumDictionary *securityLevelMap; -/** The number of items in @c securityLevelMap without causing the array to be created. */ -@property(nonatomic, readonly) NSUInteger securityLevelMap_Count; +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityKeysResponse_GetIdentityKeysResponseV0 *v0; @end -#pragma mark - GetIdentitiesKeysResponse +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityKeysResponse_ClearVersionOneOfCase(GetIdentityKeysResponse *message); -typedef GPB_ENUM(GetIdentitiesKeysResponse_FieldNumber) { - GetIdentitiesKeysResponse_FieldNumber_PublicKeys = 1, - GetIdentitiesKeysResponse_FieldNumber_Proof = 2, - GetIdentitiesKeysResponse_FieldNumber_Metadata = 3, +#pragma mark - GetIdentityKeysResponse_GetIdentityKeysResponseV0 + +typedef GPB_ENUM(GetIdentityKeysResponse_GetIdentityKeysResponseV0_FieldNumber) { + GetIdentityKeysResponse_GetIdentityKeysResponseV0_FieldNumber_Keys = 1, + GetIdentityKeysResponse_GetIdentityKeysResponseV0_FieldNumber_Proof = 2, + GetIdentityKeysResponse_GetIdentityKeysResponseV0_FieldNumber_Metadata = 3, }; -typedef GPB_ENUM(GetIdentitiesKeysResponse_Result_OneOfCase) { - GetIdentitiesKeysResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentitiesKeysResponse_Result_OneOfCase_PublicKeys = 1, - GetIdentitiesKeysResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentityKeysResponse_GetIdentityKeysResponseV0_Result_OneOfCase) { + GetIdentityKeysResponse_GetIdentityKeysResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityKeysResponse_GetIdentityKeysResponseV0_Result_OneOfCase_Keys = 1, + GetIdentityKeysResponse_GetIdentityKeysResponseV0_Result_OneOfCase_Proof = 2, }; -GPB_FINAL @interface GetIdentitiesKeysResponse : GPBMessage +GPB_FINAL @interface GetIdentityKeysResponse_GetIdentityKeysResponseV0 : GPBMessage -@property(nonatomic, readonly) GetIdentitiesKeysResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetIdentityKeysResponse_GetIdentityKeysResponseV0_Result_OneOfCase resultOneOfCase; -@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesKeysResponse_PublicKeyEntries *publicKeys; +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys *keys; @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; @@ -687,85 +864,80 @@ GPB_FINAL @interface GetIdentitiesKeysResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetIdentitiesKeysResponse_ClearResultOneOfCase(GetIdentitiesKeysResponse *message); +void GetIdentityKeysResponse_GetIdentityKeysResponseV0_ClearResultOneOfCase(GetIdentityKeysResponse_GetIdentityKeysResponseV0 *message); -#pragma mark - GetIdentitiesKeysResponse_PublicKey +#pragma mark - GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys -typedef GPB_ENUM(GetIdentitiesKeysResponse_PublicKey_FieldNumber) { - GetIdentitiesKeysResponse_PublicKey_FieldNumber_Value = 1, +typedef GPB_ENUM(GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys_FieldNumber) { + GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys_FieldNumber_KeysBytesArray = 1, }; -GPB_FINAL @interface GetIdentitiesKeysResponse_PublicKey : GPBMessage +GPB_FINAL @interface GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys : GPBMessage -@property(nonatomic, readwrite, copy, null_resettable) NSData *value; +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *keysBytesArray; +/** The number of items in @c keysBytesArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger keysBytesArray_Count; @end -#pragma mark - GetIdentitiesKeysResponse_PublicKeyEntry +#pragma mark - GetProofsRequest -typedef GPB_ENUM(GetIdentitiesKeysResponse_PublicKeyEntry_FieldNumber) { - GetIdentitiesKeysResponse_PublicKeyEntry_FieldNumber_Key = 1, - GetIdentitiesKeysResponse_PublicKeyEntry_FieldNumber_Value = 2, +typedef GPB_ENUM(GetProofsRequest_FieldNumber) { + GetProofsRequest_FieldNumber_V0 = 1, }; -GPB_FINAL @interface GetIdentitiesKeysResponse_PublicKeyEntry : GPBMessage - -@property(nonatomic, readwrite, copy, null_resettable) NSData *key; - -@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesKeysResponse_PublicKey *value; -/** Test to see if @c value has been set. */ -@property(nonatomic, readwrite) BOOL hasValue; - -@end - -#pragma mark - GetIdentitiesKeysResponse_PublicKeyEntries - -typedef GPB_ENUM(GetIdentitiesKeysResponse_PublicKeyEntries_FieldNumber) { - GetIdentitiesKeysResponse_PublicKeyEntries_FieldNumber_PublicKeyEntriesArray = 1, +typedef GPB_ENUM(GetProofsRequest_Version_OneOfCase) { + GetProofsRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetProofsRequest_Version_OneOfCase_V0 = 1, }; -GPB_FINAL @interface GetIdentitiesKeysResponse_PublicKeyEntries : GPBMessage +GPB_FINAL @interface GetProofsRequest : GPBMessage + +@property(nonatomic, readonly) GetProofsRequest_Version_OneOfCase versionOneOfCase; -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *publicKeyEntriesArray; -/** The number of items in @c publicKeyEntriesArray without causing the array to be created. */ -@property(nonatomic, readonly) NSUInteger publicKeyEntriesArray_Count; +@property(nonatomic, readwrite, strong, null_resettable) GetProofsRequest_GetProofsRequestV0 *v0; @end -#pragma mark - GetProofsRequest +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetProofsRequest_ClearVersionOneOfCase(GetProofsRequest *message); -typedef GPB_ENUM(GetProofsRequest_FieldNumber) { - GetProofsRequest_FieldNumber_IdentitiesArray = 1, - GetProofsRequest_FieldNumber_ContractsArray = 2, - GetProofsRequest_FieldNumber_DocumentsArray = 3, +#pragma mark - GetProofsRequest_GetProofsRequestV0 + +typedef GPB_ENUM(GetProofsRequest_GetProofsRequestV0_FieldNumber) { + GetProofsRequest_GetProofsRequestV0_FieldNumber_IdentitiesArray = 1, + GetProofsRequest_GetProofsRequestV0_FieldNumber_ContractsArray = 2, + GetProofsRequest_GetProofsRequestV0_FieldNumber_DocumentsArray = 3, }; -GPB_FINAL @interface GetProofsRequest : GPBMessage +GPB_FINAL @interface GetProofsRequest_GetProofsRequestV0 : GPBMessage -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *identitiesArray; +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *identitiesArray; /** The number of items in @c identitiesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger identitiesArray_Count; -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *contractsArray; +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *contractsArray; /** The number of items in @c contractsArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger contractsArray_Count; -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *documentsArray; +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *documentsArray; /** The number of items in @c documentsArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger documentsArray_Count; @end -#pragma mark - GetProofsRequest_DocumentRequest +#pragma mark - GetProofsRequest_GetProofsRequestV0_DocumentRequest -typedef GPB_ENUM(GetProofsRequest_DocumentRequest_FieldNumber) { - GetProofsRequest_DocumentRequest_FieldNumber_ContractId = 1, - GetProofsRequest_DocumentRequest_FieldNumber_DocumentType = 2, - GetProofsRequest_DocumentRequest_FieldNumber_DocumentTypeKeepsHistory = 3, - GetProofsRequest_DocumentRequest_FieldNumber_DocumentId = 4, +typedef GPB_ENUM(GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber) { + GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_ContractId = 1, + GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentType = 2, + GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentTypeKeepsHistory = 3, + GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentId = 4, }; -GPB_FINAL @interface GetProofsRequest_DocumentRequest : GPBMessage +GPB_FINAL @interface GetProofsRequest_GetProofsRequestV0_DocumentRequest : GPBMessage @property(nonatomic, readwrite, copy, null_resettable) NSData *contractId; @@ -777,40 +949,40 @@ GPB_FINAL @interface GetProofsRequest_DocumentRequest : GPBMessage @end -#pragma mark - GetProofsRequest_IdentityRequest +#pragma mark - GetProofsRequest_GetProofsRequestV0_IdentityRequest -typedef GPB_ENUM(GetProofsRequest_IdentityRequest_FieldNumber) { - GetProofsRequest_IdentityRequest_FieldNumber_IdentityId = 1, - GetProofsRequest_IdentityRequest_FieldNumber_RequestType = 2, +typedef GPB_ENUM(GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber) { + GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_IdentityId = 1, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType = 2, }; -GPB_FINAL @interface GetProofsRequest_IdentityRequest : GPBMessage +GPB_FINAL @interface GetProofsRequest_GetProofsRequestV0_IdentityRequest : GPBMessage @property(nonatomic, readwrite, copy, null_resettable) NSData *identityId; -@property(nonatomic, readwrite) GetProofsRequest_IdentityRequest_Type requestType; +@property(nonatomic, readwrite) GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type requestType; @end /** - * Fetches the raw value of a @c GetProofsRequest_IdentityRequest's @c requestType property, even + * Fetches the raw value of a @c GetProofsRequest_GetProofsRequestV0_IdentityRequest's @c requestType property, even * if the value was not defined by the enum at the time the code was generated. **/ -int32_t GetProofsRequest_IdentityRequest_RequestType_RawValue(GetProofsRequest_IdentityRequest *message); +int32_t GetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message); /** - * Sets the raw value of an @c GetProofsRequest_IdentityRequest's @c requestType property, allowing + * Sets the raw value of an @c GetProofsRequest_GetProofsRequestV0_IdentityRequest's @c requestType property, allowing * it to be set to a value that was not defined by the enum at the time the code * was generated. **/ -void SetGetProofsRequest_IdentityRequest_RequestType_RawValue(GetProofsRequest_IdentityRequest *message, int32_t value); +void SetGetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message, int32_t value); -#pragma mark - GetProofsRequest_ContractRequest +#pragma mark - GetProofsRequest_GetProofsRequestV0_ContractRequest -typedef GPB_ENUM(GetProofsRequest_ContractRequest_FieldNumber) { - GetProofsRequest_ContractRequest_FieldNumber_ContractId = 1, +typedef GPB_ENUM(GetProofsRequest_GetProofsRequestV0_ContractRequest_FieldNumber) { + GetProofsRequest_GetProofsRequestV0_ContractRequest_FieldNumber_ContractId = 1, }; -GPB_FINAL @interface GetProofsRequest_ContractRequest : GPBMessage +GPB_FINAL @interface GetProofsRequest_GetProofsRequestV0_ContractRequest : GPBMessage @property(nonatomic, readwrite, copy, null_resettable) NSData *contractId; @@ -819,12 +991,36 @@ GPB_FINAL @interface GetProofsRequest_ContractRequest : GPBMessage #pragma mark - GetProofsResponse typedef GPB_ENUM(GetProofsResponse_FieldNumber) { - GetProofsResponse_FieldNumber_Proof = 1, - GetProofsResponse_FieldNumber_Metadata = 2, + GetProofsResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetProofsResponse_Version_OneOfCase) { + GetProofsResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetProofsResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetProofsResponse : GPBMessage +@property(nonatomic, readonly) GetProofsResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetProofsResponse_GetProofsResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetProofsResponse_ClearVersionOneOfCase(GetProofsResponse *message); + +#pragma mark - GetProofsResponse_GetProofsResponseV0 + +typedef GPB_ENUM(GetProofsResponse_GetProofsResponseV0_FieldNumber) { + GetProofsResponse_GetProofsResponseV0_FieldNumber_Proof = 1, + GetProofsResponse_GetProofsResponseV0_FieldNumber_Metadata = 2, +}; + +GPB_FINAL @interface GetProofsResponse_GetProofsResponseV0 : GPBMessage + @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; /** Test to see if @c proof has been set. */ @property(nonatomic, readwrite) BOOL hasProof; @@ -838,35 +1034,83 @@ GPB_FINAL @interface GetProofsResponse : GPBMessage #pragma mark - GetDataContractRequest typedef GPB_ENUM(GetDataContractRequest_FieldNumber) { - GetDataContractRequest_FieldNumber_Id_p = 1, - GetDataContractRequest_FieldNumber_Prove = 2, + GetDataContractRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetDataContractRequest_Version_OneOfCase) { + GetDataContractRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDataContractRequest : GPBMessage -@property(nonatomic, readwrite, copy, null_resettable) NSData *id_p; +@property(nonatomic, readonly) GetDataContractRequest_Version_OneOfCase versionOneOfCase; -@property(nonatomic, readwrite) BOOL prove; +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractRequest_GetDataContractRequestV0 *v0; @end -#pragma mark - GetDataContractResponse +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetDataContractRequest_ClearVersionOneOfCase(GetDataContractRequest *message); -typedef GPB_ENUM(GetDataContractResponse_FieldNumber) { - GetDataContractResponse_FieldNumber_DataContract = 1, - GetDataContractResponse_FieldNumber_Proof = 2, - GetDataContractResponse_FieldNumber_Metadata = 3, -}; +#pragma mark - GetDataContractRequest_GetDataContractRequestV0 -typedef GPB_ENUM(GetDataContractResponse_Result_OneOfCase) { - GetDataContractResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetDataContractResponse_Result_OneOfCase_DataContract = 1, - GetDataContractResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetDataContractRequest_GetDataContractRequestV0_FieldNumber) { + GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Id_p = 1, + GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetDataContractRequest_GetDataContractRequestV0 : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *id_p; + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetDataContractResponse + +typedef GPB_ENUM(GetDataContractResponse_FieldNumber) { + GetDataContractResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetDataContractResponse_Version_OneOfCase) { + GetDataContractResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDataContractResponse : GPBMessage -@property(nonatomic, readonly) GetDataContractResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetDataContractResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractResponse_GetDataContractResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetDataContractResponse_ClearVersionOneOfCase(GetDataContractResponse *message); + +#pragma mark - GetDataContractResponse_GetDataContractResponseV0 + +typedef GPB_ENUM(GetDataContractResponse_GetDataContractResponseV0_FieldNumber) { + GetDataContractResponse_GetDataContractResponseV0_FieldNumber_DataContract = 1, + GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Proof = 2, + GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetDataContractResponse_GetDataContractResponseV0_Result_OneOfCase) { + GetDataContractResponse_GetDataContractResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractResponse_GetDataContractResponseV0_Result_OneOfCase_DataContract = 1, + GetDataContractResponse_GetDataContractResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetDataContractResponse_GetDataContractResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetDataContractResponse_GetDataContractResponseV0_Result_OneOfCase resultOneOfCase; @property(nonatomic, readwrite, copy, null_resettable) NSData *dataContract; @@ -881,17 +1125,41 @@ GPB_FINAL @interface GetDataContractResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetDataContractResponse_ClearResultOneOfCase(GetDataContractResponse *message); +void GetDataContractResponse_GetDataContractResponseV0_ClearResultOneOfCase(GetDataContractResponse_GetDataContractResponseV0 *message); #pragma mark - GetDataContractsRequest typedef GPB_ENUM(GetDataContractsRequest_FieldNumber) { - GetDataContractsRequest_FieldNumber_IdsArray = 1, - GetDataContractsRequest_FieldNumber_Prove = 2, + GetDataContractsRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetDataContractsRequest_Version_OneOfCase) { + GetDataContractsRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractsRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDataContractsRequest : GPBMessage +@property(nonatomic, readonly) GetDataContractsRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractsRequest_GetDataContractsRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetDataContractsRequest_ClearVersionOneOfCase(GetDataContractsRequest *message); + +#pragma mark - GetDataContractsRequest_GetDataContractsRequestV0 + +typedef GPB_ENUM(GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber) { + GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_IdsArray = 1, + GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetDataContractsRequest_GetDataContractsRequestV0 : GPBMessage + @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *idsArray; /** The number of items in @c idsArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger idsArray_Count; @@ -903,62 +1171,41 @@ GPB_FINAL @interface GetDataContractsRequest : GPBMessage #pragma mark - GetDataContractsResponse typedef GPB_ENUM(GetDataContractsResponse_FieldNumber) { - GetDataContractsResponse_FieldNumber_DataContracts = 1, - GetDataContractsResponse_FieldNumber_Proof = 2, - GetDataContractsResponse_FieldNumber_Metadata = 3, + GetDataContractsResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetDataContractsResponse_Result_OneOfCase) { - GetDataContractsResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetDataContractsResponse_Result_OneOfCase_DataContracts = 1, - GetDataContractsResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetDataContractsResponse_Version_OneOfCase) { + GetDataContractsResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractsResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDataContractsResponse : GPBMessage -@property(nonatomic, readonly) GetDataContractsResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetDataContractsResponse_Version_OneOfCase versionOneOfCase; -@property(nonatomic, readwrite, strong, null_resettable) GetDataContractsResponse_DataContracts *dataContracts; - -@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; - -@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; -/** Test to see if @c metadata has been set. */ -@property(nonatomic, readwrite) BOOL hasMetadata; +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractsResponse_GetDataContractsResponseV0 *v0; @end /** - * Clears whatever value was set for the oneof 'result'. + * Clears whatever value was set for the oneof 'version'. **/ -void GetDataContractsResponse_ClearResultOneOfCase(GetDataContractsResponse *message); - -#pragma mark - GetDataContractsResponse_DataContractValue - -typedef GPB_ENUM(GetDataContractsResponse_DataContractValue_FieldNumber) { - GetDataContractsResponse_DataContractValue_FieldNumber_Value = 1, -}; - -GPB_FINAL @interface GetDataContractsResponse_DataContractValue : GPBMessage - -@property(nonatomic, readwrite, copy, null_resettable) NSData *value; - -@end +void GetDataContractsResponse_ClearVersionOneOfCase(GetDataContractsResponse *message); #pragma mark - GetDataContractsResponse_DataContractEntry typedef GPB_ENUM(GetDataContractsResponse_DataContractEntry_FieldNumber) { - GetDataContractsResponse_DataContractEntry_FieldNumber_Key = 1, - GetDataContractsResponse_DataContractEntry_FieldNumber_Value = 2, + GetDataContractsResponse_DataContractEntry_FieldNumber_Identifier = 1, + GetDataContractsResponse_DataContractEntry_FieldNumber_DataContract = 2, }; GPB_FINAL @interface GetDataContractsResponse_DataContractEntry : GPBMessage -@property(nonatomic, readwrite, copy, null_resettable) NSData *key; +@property(nonatomic, readwrite, copy, null_resettable) NSData *identifier; -@property(nonatomic, readwrite, strong, null_resettable) GetDataContractsResponse_DataContractValue *value; -/** Test to see if @c value has been set. */ -@property(nonatomic, readwrite) BOOL hasValue; +@property(nonatomic, readwrite, strong, null_resettable) GPBBytesValue *dataContract; +/** Test to see if @c dataContract has been set. */ +@property(nonatomic, readwrite) BOOL hasDataContract; @end @@ -976,18 +1223,75 @@ GPB_FINAL @interface GetDataContractsResponse_DataContracts : GPBMessage @end +#pragma mark - GetDataContractsResponse_GetDataContractsResponseV0 + +typedef GPB_ENUM(GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber) { + GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_DataContracts = 1, + GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Proof = 2, + GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetDataContractsResponse_GetDataContractsResponseV0_Result_OneOfCase) { + GetDataContractsResponse_GetDataContractsResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractsResponse_GetDataContractsResponseV0_Result_OneOfCase_DataContracts = 1, + GetDataContractsResponse_GetDataContractsResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetDataContractsResponse_GetDataContractsResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetDataContractsResponse_GetDataContractsResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractsResponse_DataContracts *dataContracts; + +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetDataContractsResponse_GetDataContractsResponseV0_ClearResultOneOfCase(GetDataContractsResponse_GetDataContractsResponseV0 *message); + #pragma mark - GetDataContractHistoryRequest typedef GPB_ENUM(GetDataContractHistoryRequest_FieldNumber) { - GetDataContractHistoryRequest_FieldNumber_Id_p = 1, - GetDataContractHistoryRequest_FieldNumber_Limit = 2, - GetDataContractHistoryRequest_FieldNumber_Offset = 3, - GetDataContractHistoryRequest_FieldNumber_StartAtMs = 4, - GetDataContractHistoryRequest_FieldNumber_Prove = 5, + GetDataContractHistoryRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetDataContractHistoryRequest_Version_OneOfCase) { + GetDataContractHistoryRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractHistoryRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDataContractHistoryRequest : GPBMessage +@property(nonatomic, readonly) GetDataContractHistoryRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetDataContractHistoryRequest_ClearVersionOneOfCase(GetDataContractHistoryRequest *message); + +#pragma mark - GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 + +typedef GPB_ENUM(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber) { + GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Id_p = 1, + GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Limit = 2, + GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Offset = 3, + GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_StartAtMs = 4, + GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Prove = 5, +}; + +GPB_FINAL @interface GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 : GPBMessage + @property(nonatomic, readwrite, copy, null_resettable) NSData *id_p; @property(nonatomic, readwrite, strong, null_resettable) GPBUInt32Value *limit; @@ -1007,22 +1311,46 @@ GPB_FINAL @interface GetDataContractHistoryRequest : GPBMessage #pragma mark - GetDataContractHistoryResponse typedef GPB_ENUM(GetDataContractHistoryResponse_FieldNumber) { - GetDataContractHistoryResponse_FieldNumber_DataContractHistory = 1, - GetDataContractHistoryResponse_FieldNumber_Proof = 2, - GetDataContractHistoryResponse_FieldNumber_Metadata = 3, + GetDataContractHistoryResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetDataContractHistoryResponse_Result_OneOfCase) { - GetDataContractHistoryResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetDataContractHistoryResponse_Result_OneOfCase_DataContractHistory = 1, - GetDataContractHistoryResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetDataContractHistoryResponse_Version_OneOfCase) { + GetDataContractHistoryResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractHistoryResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDataContractHistoryResponse : GPBMessage -@property(nonatomic, readonly) GetDataContractHistoryResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetDataContractHistoryResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetDataContractHistoryResponse_ClearVersionOneOfCase(GetDataContractHistoryResponse *message); + +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 + +typedef GPB_ENUM(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber) { + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_DataContractHistory = 1, + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Proof = 2, + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_Result_OneOfCase) { + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_Result_OneOfCase_DataContractHistory = 1, + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_Result_OneOfCase_Proof = 2, +}; -@property(nonatomic, readwrite, strong, null_resettable) GetDataContractHistoryResponse_DataContractHistory *dataContractHistory; +GPB_FINAL @interface GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory *dataContractHistory; @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; @@ -1035,16 +1363,16 @@ GPB_FINAL @interface GetDataContractHistoryResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetDataContractHistoryResponse_ClearResultOneOfCase(GetDataContractHistoryResponse *message); +void GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_ClearResultOneOfCase(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *message); -#pragma mark - GetDataContractHistoryResponse_DataContractHistoryEntry +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry -typedef GPB_ENUM(GetDataContractHistoryResponse_DataContractHistoryEntry_FieldNumber) { - GetDataContractHistoryResponse_DataContractHistoryEntry_FieldNumber_Date = 1, - GetDataContractHistoryResponse_DataContractHistoryEntry_FieldNumber_Value = 2, +typedef GPB_ENUM(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber) { + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Date = 1, + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Value = 2, }; -GPB_FINAL @interface GetDataContractHistoryResponse_DataContractHistoryEntry : GPBMessage +GPB_FINAL @interface GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry : GPBMessage @property(nonatomic, readwrite) uint64_t date; @@ -1052,15 +1380,15 @@ GPB_FINAL @interface GetDataContractHistoryResponse_DataContractHistoryEntry : G @end -#pragma mark - GetDataContractHistoryResponse_DataContractHistory +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory -typedef GPB_ENUM(GetDataContractHistoryResponse_DataContractHistory_FieldNumber) { - GetDataContractHistoryResponse_DataContractHistory_FieldNumber_DataContractEntriesArray = 1, +typedef GPB_ENUM(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory_FieldNumber) { + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory_FieldNumber_DataContractEntriesArray = 1, }; -GPB_FINAL @interface GetDataContractHistoryResponse_DataContractHistory : GPBMessage +GPB_FINAL @interface GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory : GPBMessage -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *dataContractEntriesArray; +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *dataContractEntriesArray; /** The number of items in @c dataContractEntriesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger dataContractEntriesArray_Count; @@ -1069,24 +1397,48 @@ GPB_FINAL @interface GetDataContractHistoryResponse_DataContractHistory : GPBMes #pragma mark - GetDocumentsRequest typedef GPB_ENUM(GetDocumentsRequest_FieldNumber) { - GetDocumentsRequest_FieldNumber_DataContractId = 1, - GetDocumentsRequest_FieldNumber_DocumentType = 2, - GetDocumentsRequest_FieldNumber_Where = 3, - GetDocumentsRequest_FieldNumber_OrderBy = 4, - GetDocumentsRequest_FieldNumber_Limit = 5, - GetDocumentsRequest_FieldNumber_StartAfter = 6, - GetDocumentsRequest_FieldNumber_StartAt = 7, - GetDocumentsRequest_FieldNumber_Prove = 8, + GetDocumentsRequest_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetDocumentsRequest_Start_OneOfCase) { - GetDocumentsRequest_Start_OneOfCase_GPBUnsetOneOfCase = 0, - GetDocumentsRequest_Start_OneOfCase_StartAfter = 6, - GetDocumentsRequest_Start_OneOfCase_StartAt = 7, +typedef GPB_ENUM(GetDocumentsRequest_Version_OneOfCase) { + GetDocumentsRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDocumentsRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDocumentsRequest : GPBMessage +@property(nonatomic, readonly) GetDocumentsRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDocumentsRequest_GetDocumentsRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetDocumentsRequest_ClearVersionOneOfCase(GetDocumentsRequest *message); + +#pragma mark - GetDocumentsRequest_GetDocumentsRequestV0 + +typedef GPB_ENUM(GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber) { + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DataContractId = 1, + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DocumentType = 2, + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Where = 3, + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_OrderBy = 4, + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Limit = 5, + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAfter = 6, + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAt = 7, + GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Prove = 8, +}; + +typedef GPB_ENUM(GetDocumentsRequest_GetDocumentsRequestV0_Start_OneOfCase) { + GetDocumentsRequest_GetDocumentsRequestV0_Start_OneOfCase_GPBUnsetOneOfCase = 0, + GetDocumentsRequest_GetDocumentsRequestV0_Start_OneOfCase_StartAfter = 6, + GetDocumentsRequest_GetDocumentsRequestV0_Start_OneOfCase_StartAt = 7, +}; + +GPB_FINAL @interface GetDocumentsRequest_GetDocumentsRequestV0 : GPBMessage + @property(nonatomic, readwrite, copy, null_resettable) NSData *dataContractId; @property(nonatomic, readwrite, copy, null_resettable) NSString *documentType; @@ -1097,7 +1449,7 @@ GPB_FINAL @interface GetDocumentsRequest : GPBMessage @property(nonatomic, readwrite) uint32_t limit; -@property(nonatomic, readonly) GetDocumentsRequest_Start_OneOfCase startOneOfCase; +@property(nonatomic, readonly) GetDocumentsRequest_GetDocumentsRequestV0_Start_OneOfCase startOneOfCase; @property(nonatomic, readwrite, copy, null_resettable) NSData *startAfter; @@ -1110,27 +1462,51 @@ GPB_FINAL @interface GetDocumentsRequest : GPBMessage /** * Clears whatever value was set for the oneof 'start'. **/ -void GetDocumentsRequest_ClearStartOneOfCase(GetDocumentsRequest *message); +void GetDocumentsRequest_GetDocumentsRequestV0_ClearStartOneOfCase(GetDocumentsRequest_GetDocumentsRequestV0 *message); #pragma mark - GetDocumentsResponse typedef GPB_ENUM(GetDocumentsResponse_FieldNumber) { - GetDocumentsResponse_FieldNumber_Documents = 1, - GetDocumentsResponse_FieldNumber_Proof = 2, - GetDocumentsResponse_FieldNumber_Metadata = 3, + GetDocumentsResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetDocumentsResponse_Result_OneOfCase) { - GetDocumentsResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetDocumentsResponse_Result_OneOfCase_Documents = 1, - GetDocumentsResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetDocumentsResponse_Version_OneOfCase) { + GetDocumentsResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetDocumentsResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetDocumentsResponse : GPBMessage -@property(nonatomic, readonly) GetDocumentsResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetDocumentsResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDocumentsResponse_GetDocumentsResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetDocumentsResponse_ClearVersionOneOfCase(GetDocumentsResponse *message); + +#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0 + +typedef GPB_ENUM(GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber) { + GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Documents = 1, + GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Proof = 2, + GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetDocumentsResponse_GetDocumentsResponseV0_Result_OneOfCase) { + GetDocumentsResponse_GetDocumentsResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetDocumentsResponse_GetDocumentsResponseV0_Result_OneOfCase_Documents = 1, + GetDocumentsResponse_GetDocumentsResponseV0_Result_OneOfCase_Proof = 2, +}; -@property(nonatomic, readwrite, strong, null_resettable) GetDocumentsResponse_Documents *documents; +GPB_FINAL @interface GetDocumentsResponse_GetDocumentsResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetDocumentsResponse_GetDocumentsResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetDocumentsResponse_GetDocumentsResponseV0_Documents *documents; @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; @@ -1143,15 +1519,15 @@ GPB_FINAL @interface GetDocumentsResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetDocumentsResponse_ClearResultOneOfCase(GetDocumentsResponse *message); +void GetDocumentsResponse_GetDocumentsResponseV0_ClearResultOneOfCase(GetDocumentsResponse_GetDocumentsResponseV0 *message); -#pragma mark - GetDocumentsResponse_Documents +#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0_Documents -typedef GPB_ENUM(GetDocumentsResponse_Documents_FieldNumber) { - GetDocumentsResponse_Documents_FieldNumber_DocumentsArray = 1, +typedef GPB_ENUM(GetDocumentsResponse_GetDocumentsResponseV0_Documents_FieldNumber) { + GetDocumentsResponse_GetDocumentsResponseV0_Documents_FieldNumber_DocumentsArray = 1, }; -GPB_FINAL @interface GetDocumentsResponse_Documents : GPBMessage +GPB_FINAL @interface GetDocumentsResponse_GetDocumentsResponseV0_Documents : GPBMessage @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *documentsArray; /** The number of items in @c documentsArray without causing the array to be created. */ @@ -1162,12 +1538,36 @@ GPB_FINAL @interface GetDocumentsResponse_Documents : GPBMessage #pragma mark - GetIdentitiesByPublicKeyHashesRequest typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesRequest_FieldNumber) { - GetIdentitiesByPublicKeyHashesRequest_FieldNumber_PublicKeyHashesArray = 1, - GetIdentitiesByPublicKeyHashesRequest_FieldNumber_Prove = 2, + GetIdentitiesByPublicKeyHashesRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesRequest_Version_OneOfCase) { + GetIdentitiesByPublicKeyHashesRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesByPublicKeyHashesRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentitiesByPublicKeyHashesRequest : GPBMessage +@property(nonatomic, readonly) GetIdentitiesByPublicKeyHashesRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentitiesByPublicKeyHashesRequest_ClearVersionOneOfCase(GetIdentitiesByPublicKeyHashesRequest *message); + +#pragma mark - GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0 + +typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0_FieldNumber) { + GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0_FieldNumber_PublicKeyHashesArray = 1, + GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0 : GPBMessage + @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *publicKeyHashesArray; /** The number of items in @c publicKeyHashesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger publicKeyHashesArray_Count; @@ -1179,22 +1579,77 @@ GPB_FINAL @interface GetIdentitiesByPublicKeyHashesRequest : GPBMessage #pragma mark - GetIdentitiesByPublicKeyHashesResponse typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_FieldNumber) { - GetIdentitiesByPublicKeyHashesResponse_FieldNumber_Identities = 1, - GetIdentitiesByPublicKeyHashesResponse_FieldNumber_Proof = 2, - GetIdentitiesByPublicKeyHashesResponse_FieldNumber_Metadata = 3, + GetIdentitiesByPublicKeyHashesResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_Result_OneOfCase) { - GetIdentitiesByPublicKeyHashesResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentitiesByPublicKeyHashesResponse_Result_OneOfCase_Identities = 1, - GetIdentitiesByPublicKeyHashesResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_Version_OneOfCase) { + GetIdentitiesByPublicKeyHashesResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesByPublicKeyHashesResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface GetIdentitiesByPublicKeyHashesResponse : GPBMessage -@property(nonatomic, readonly) GetIdentitiesByPublicKeyHashesResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetIdentitiesByPublicKeyHashesResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentitiesByPublicKeyHashesResponse_ClearVersionOneOfCase(GetIdentitiesByPublicKeyHashesResponse *message); + +#pragma mark - GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry -@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesByPublicKeyHashesResponse_Identities *identities; +typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry_FieldNumber) { + GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry_FieldNumber_PublicKeyHash = 1, + GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry_FieldNumber_Value = 2, +}; + +GPB_FINAL @interface GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *publicKeyHash; + +@property(nonatomic, readwrite, strong, null_resettable) GPBBytesValue *value; +/** Test to see if @c value has been set. */ +@property(nonatomic, readwrite) BOOL hasValue; + +@end + +#pragma mark - GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes + +typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes_FieldNumber) { + GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes_FieldNumber_IdentityEntriesArray = 1, +}; + +GPB_FINAL @interface GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *identityEntriesArray; +/** The number of items in @c identityEntriesArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger identityEntriesArray_Count; + +@end + +#pragma mark - GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 + +typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_FieldNumber) { + GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_FieldNumber_Identities = 1, + GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_FieldNumber_Proof = 2, + GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_Result_OneOfCase) { + GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_Result_OneOfCase_Identities = 1, + GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes *identities; @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; @@ -1207,30 +1662,40 @@ GPB_FINAL @interface GetIdentitiesByPublicKeyHashesResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetIdentitiesByPublicKeyHashesResponse_ClearResultOneOfCase(GetIdentitiesByPublicKeyHashesResponse *message); +void GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_ClearResultOneOfCase(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 *message); -#pragma mark - GetIdentitiesByPublicKeyHashesResponse_Identities +#pragma mark - GetIdentityByPublicKeyHashRequest -typedef GPB_ENUM(GetIdentitiesByPublicKeyHashesResponse_Identities_FieldNumber) { - GetIdentitiesByPublicKeyHashesResponse_Identities_FieldNumber_IdentitiesArray = 1, +typedef GPB_ENUM(GetIdentityByPublicKeyHashRequest_FieldNumber) { + GetIdentityByPublicKeyHashRequest_FieldNumber_V0 = 1, }; -GPB_FINAL @interface GetIdentitiesByPublicKeyHashesResponse_Identities : GPBMessage +typedef GPB_ENUM(GetIdentityByPublicKeyHashRequest_Version_OneOfCase) { + GetIdentityByPublicKeyHashRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityByPublicKeyHashRequest_Version_OneOfCase_V0 = 1, +}; -@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *identitiesArray; -/** The number of items in @c identitiesArray without causing the array to be created. */ -@property(nonatomic, readonly) NSUInteger identitiesArray_Count; +GPB_FINAL @interface GetIdentityByPublicKeyHashRequest : GPBMessage + +@property(nonatomic, readonly) GetIdentityByPublicKeyHashRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 *v0; @end -#pragma mark - GetIdentityByPublicKeyHashesRequest +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityByPublicKeyHashRequest_ClearVersionOneOfCase(GetIdentityByPublicKeyHashRequest *message); + +#pragma mark - GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 -typedef GPB_ENUM(GetIdentityByPublicKeyHashesRequest_FieldNumber) { - GetIdentityByPublicKeyHashesRequest_FieldNumber_PublicKeyHash = 1, - GetIdentityByPublicKeyHashesRequest_FieldNumber_Prove = 2, +typedef GPB_ENUM(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber) { + GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_PublicKeyHash = 1, + GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_Prove = 2, }; -GPB_FINAL @interface GetIdentityByPublicKeyHashesRequest : GPBMessage +GPB_FINAL @interface GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 : GPBMessage @property(nonatomic, readwrite, copy, null_resettable) NSData *publicKeyHash; @@ -1238,23 +1703,47 @@ GPB_FINAL @interface GetIdentityByPublicKeyHashesRequest : GPBMessage @end -#pragma mark - GetIdentityByPublicKeyHashesResponse +#pragma mark - GetIdentityByPublicKeyHashResponse + +typedef GPB_ENUM(GetIdentityByPublicKeyHashResponse_FieldNumber) { + GetIdentityByPublicKeyHashResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetIdentityByPublicKeyHashResponse_Version_OneOfCase) { + GetIdentityByPublicKeyHashResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityByPublicKeyHashResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetIdentityByPublicKeyHashResponse : GPBMessage + +@property(nonatomic, readonly) GetIdentityByPublicKeyHashResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetIdentityByPublicKeyHashResponse_ClearVersionOneOfCase(GetIdentityByPublicKeyHashResponse *message); + +#pragma mark - GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 -typedef GPB_ENUM(GetIdentityByPublicKeyHashesResponse_FieldNumber) { - GetIdentityByPublicKeyHashesResponse_FieldNumber_Identity = 1, - GetIdentityByPublicKeyHashesResponse_FieldNumber_Proof = 2, - GetIdentityByPublicKeyHashesResponse_FieldNumber_Metadata = 3, +typedef GPB_ENUM(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber) { + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Identity = 1, + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Proof = 2, + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Metadata = 3, }; -typedef GPB_ENUM(GetIdentityByPublicKeyHashesResponse_Result_OneOfCase) { - GetIdentityByPublicKeyHashesResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - GetIdentityByPublicKeyHashesResponse_Result_OneOfCase_Identity = 1, - GetIdentityByPublicKeyHashesResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_Result_OneOfCase) { + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_Result_OneOfCase_Identity = 1, + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_Result_OneOfCase_Proof = 2, }; -GPB_FINAL @interface GetIdentityByPublicKeyHashesResponse : GPBMessage +GPB_FINAL @interface GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 : GPBMessage -@property(nonatomic, readonly) GetIdentityByPublicKeyHashesResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_Result_OneOfCase resultOneOfCase; @property(nonatomic, readwrite, copy, null_resettable) NSData *identity; @@ -1269,17 +1758,41 @@ GPB_FINAL @interface GetIdentityByPublicKeyHashesResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void GetIdentityByPublicKeyHashesResponse_ClearResultOneOfCase(GetIdentityByPublicKeyHashesResponse *message); +void GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_ClearResultOneOfCase(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *message); #pragma mark - WaitForStateTransitionResultRequest typedef GPB_ENUM(WaitForStateTransitionResultRequest_FieldNumber) { - WaitForStateTransitionResultRequest_FieldNumber_StateTransitionHash = 1, - WaitForStateTransitionResultRequest_FieldNumber_Prove = 2, + WaitForStateTransitionResultRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(WaitForStateTransitionResultRequest_Version_OneOfCase) { + WaitForStateTransitionResultRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + WaitForStateTransitionResultRequest_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface WaitForStateTransitionResultRequest : GPBMessage +@property(nonatomic, readonly) WaitForStateTransitionResultRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void WaitForStateTransitionResultRequest_ClearVersionOneOfCase(WaitForStateTransitionResultRequest *message); + +#pragma mark - WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 + +typedef GPB_ENUM(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber) { + WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_StateTransitionHash = 1, + WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 : GPBMessage + @property(nonatomic, readwrite, copy, null_resettable) NSData *stateTransitionHash; @property(nonatomic, readwrite) BOOL prove; @@ -1289,20 +1802,44 @@ GPB_FINAL @interface WaitForStateTransitionResultRequest : GPBMessage #pragma mark - WaitForStateTransitionResultResponse typedef GPB_ENUM(WaitForStateTransitionResultResponse_FieldNumber) { - WaitForStateTransitionResultResponse_FieldNumber_Error = 1, - WaitForStateTransitionResultResponse_FieldNumber_Proof = 2, - WaitForStateTransitionResultResponse_FieldNumber_Metadata = 3, + WaitForStateTransitionResultResponse_FieldNumber_V0 = 1, }; -typedef GPB_ENUM(WaitForStateTransitionResultResponse_Result_OneOfCase) { - WaitForStateTransitionResultResponse_Result_OneOfCase_GPBUnsetOneOfCase = 0, - WaitForStateTransitionResultResponse_Result_OneOfCase_Error = 1, - WaitForStateTransitionResultResponse_Result_OneOfCase_Proof = 2, +typedef GPB_ENUM(WaitForStateTransitionResultResponse_Version_OneOfCase) { + WaitForStateTransitionResultResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + WaitForStateTransitionResultResponse_Version_OneOfCase_V0 = 1, }; GPB_FINAL @interface WaitForStateTransitionResultResponse : GPBMessage -@property(nonatomic, readonly) WaitForStateTransitionResultResponse_Result_OneOfCase resultOneOfCase; +@property(nonatomic, readonly) WaitForStateTransitionResultResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void WaitForStateTransitionResultResponse_ClearVersionOneOfCase(WaitForStateTransitionResultResponse *message); + +#pragma mark - WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 + +typedef GPB_ENUM(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber) { + WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Error = 1, + WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Proof = 2, + WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_Result_OneOfCase) { + WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_Result_OneOfCase_Error = 1, + WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 : GPBMessage + +@property(nonatomic, readonly) WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_Result_OneOfCase resultOneOfCase; @property(nonatomic, readwrite, strong, null_resettable) StateTransitionBroadcastError *error; @@ -1317,73 +1854,121 @@ GPB_FINAL @interface WaitForStateTransitionResultResponse : GPBMessage /** * Clears whatever value was set for the oneof 'result'. **/ -void WaitForStateTransitionResultResponse_ClearResultOneOfCase(WaitForStateTransitionResultResponse *message); +void WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_ClearResultOneOfCase(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *message); -#pragma mark - ConsensusParamsBlock +#pragma mark - GetConsensusParamsRequest -typedef GPB_ENUM(ConsensusParamsBlock_FieldNumber) { - ConsensusParamsBlock_FieldNumber_MaxBytes = 1, - ConsensusParamsBlock_FieldNumber_MaxGas = 2, - ConsensusParamsBlock_FieldNumber_TimeIotaMs = 3, +typedef GPB_ENUM(GetConsensusParamsRequest_FieldNumber) { + GetConsensusParamsRequest_FieldNumber_V0 = 1, }; -GPB_FINAL @interface ConsensusParamsBlock : GPBMessage +typedef GPB_ENUM(GetConsensusParamsRequest_Version_OneOfCase) { + GetConsensusParamsRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetConsensusParamsRequest_Version_OneOfCase_V0 = 1, +}; -@property(nonatomic, readwrite, copy, null_resettable) NSString *maxBytes; +GPB_FINAL @interface GetConsensusParamsRequest : GPBMessage -@property(nonatomic, readwrite, copy, null_resettable) NSString *maxGas; +@property(nonatomic, readonly) GetConsensusParamsRequest_Version_OneOfCase versionOneOfCase; -@property(nonatomic, readwrite, copy, null_resettable) NSString *timeIotaMs; +@property(nonatomic, readwrite, strong, null_resettable) GetConsensusParamsRequest_GetConsensusParamsRequestV0 *v0; @end -#pragma mark - ConsensusParamsEvidence +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetConsensusParamsRequest_ClearVersionOneOfCase(GetConsensusParamsRequest *message); + +#pragma mark - GetConsensusParamsRequest_GetConsensusParamsRequestV0 -typedef GPB_ENUM(ConsensusParamsEvidence_FieldNumber) { - ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks = 1, - ConsensusParamsEvidence_FieldNumber_MaxAgeDuration = 2, - ConsensusParamsEvidence_FieldNumber_MaxBytes = 3, +typedef GPB_ENUM(GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber) { + GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Height = 1, + GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Prove = 2, }; -GPB_FINAL @interface ConsensusParamsEvidence : GPBMessage +GPB_FINAL @interface GetConsensusParamsRequest_GetConsensusParamsRequestV0 : GPBMessage -@property(nonatomic, readwrite, copy, null_resettable) NSString *maxAgeNumBlocks; +@property(nonatomic, readwrite) int32_t height; -@property(nonatomic, readwrite, copy, null_resettable) NSString *maxAgeDuration; +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetConsensusParamsResponse + +typedef GPB_ENUM(GetConsensusParamsResponse_FieldNumber) { + GetConsensusParamsResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetConsensusParamsResponse_Version_OneOfCase) { + GetConsensusParamsResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetConsensusParamsResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetConsensusParamsResponse : GPBMessage + +@property(nonatomic, readonly) GetConsensusParamsResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetConsensusParamsResponse_GetConsensusParamsResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetConsensusParamsResponse_ClearVersionOneOfCase(GetConsensusParamsResponse *message); + +#pragma mark - GetConsensusParamsResponse_ConsensusParamsBlock + +typedef GPB_ENUM(GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber) { + GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxBytes = 1, + GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxGas = 2, + GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_TimeIotaMs = 3, +}; + +GPB_FINAL @interface GetConsensusParamsResponse_ConsensusParamsBlock : GPBMessage @property(nonatomic, readwrite, copy, null_resettable) NSString *maxBytes; +@property(nonatomic, readwrite, copy, null_resettable) NSString *maxGas; + +@property(nonatomic, readwrite, copy, null_resettable) NSString *timeIotaMs; + @end -#pragma mark - GetConsensusParamsRequest +#pragma mark - GetConsensusParamsResponse_ConsensusParamsEvidence -typedef GPB_ENUM(GetConsensusParamsRequest_FieldNumber) { - GetConsensusParamsRequest_FieldNumber_Height = 1, - GetConsensusParamsRequest_FieldNumber_Prove = 2, +typedef GPB_ENUM(GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber) { + GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks = 1, + GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeDuration = 2, + GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxBytes = 3, }; -GPB_FINAL @interface GetConsensusParamsRequest : GPBMessage +GPB_FINAL @interface GetConsensusParamsResponse_ConsensusParamsEvidence : GPBMessage -@property(nonatomic, readwrite) int64_t height; +@property(nonatomic, readwrite, copy, null_resettable) NSString *maxAgeNumBlocks; -@property(nonatomic, readwrite) BOOL prove; +@property(nonatomic, readwrite, copy, null_resettable) NSString *maxAgeDuration; + +@property(nonatomic, readwrite, copy, null_resettable) NSString *maxBytes; @end -#pragma mark - GetConsensusParamsResponse +#pragma mark - GetConsensusParamsResponse_GetConsensusParamsResponseV0 -typedef GPB_ENUM(GetConsensusParamsResponse_FieldNumber) { - GetConsensusParamsResponse_FieldNumber_Block = 1, - GetConsensusParamsResponse_FieldNumber_Evidence = 2, +typedef GPB_ENUM(GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber) { + GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Block = 1, + GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Evidence = 2, }; -GPB_FINAL @interface GetConsensusParamsResponse : GPBMessage +GPB_FINAL @interface GetConsensusParamsResponse_GetConsensusParamsResponseV0 : GPBMessage -@property(nonatomic, readwrite, strong, null_resettable) ConsensusParamsBlock *block; +@property(nonatomic, readwrite, strong, null_resettable) GetConsensusParamsResponse_ConsensusParamsBlock *block; /** Test to see if @c block has been set. */ @property(nonatomic, readwrite) BOOL hasBlock; -@property(nonatomic, readwrite, strong, null_resettable) ConsensusParamsEvidence *evidence; +@property(nonatomic, readwrite, strong, null_resettable) GetConsensusParamsResponse_ConsensusParamsEvidence *evidence; /** Test to see if @c evidence has been set. */ @property(nonatomic, readwrite) BOOL hasEvidence; diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m index a16f7167b7..cbcde27e30 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m @@ -28,39 +28,77 @@ // static values in struct initializers. // We don't use [Foo class] because it is not a static value. GPBObjCClassDeclaration(AllKeys); -GPBObjCClassDeclaration(ConsensusParamsBlock); -GPBObjCClassDeclaration(ConsensusParamsEvidence); +GPBObjCClassDeclaration(GPBBytesValue); GPBObjCClassDeclaration(GPBUInt32Value); -GPBObjCClassDeclaration(GPBUInt64Value); +GPBObjCClassDeclaration(GetConsensusParamsRequest); +GPBObjCClassDeclaration(GetConsensusParamsRequest_GetConsensusParamsRequestV0); +GPBObjCClassDeclaration(GetConsensusParamsResponse); +GPBObjCClassDeclaration(GetConsensusParamsResponse_ConsensusParamsBlock); +GPBObjCClassDeclaration(GetConsensusParamsResponse_ConsensusParamsEvidence); +GPBObjCClassDeclaration(GetConsensusParamsResponse_GetConsensusParamsResponseV0); +GPBObjCClassDeclaration(GetDataContractHistoryRequest); +GPBObjCClassDeclaration(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0); GPBObjCClassDeclaration(GetDataContractHistoryResponse); -GPBObjCClassDeclaration(GetDataContractHistoryResponse_DataContractHistory); -GPBObjCClassDeclaration(GetDataContractHistoryResponse_DataContractHistoryEntry); +GPBObjCClassDeclaration(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0); +GPBObjCClassDeclaration(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory); +GPBObjCClassDeclaration(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry); +GPBObjCClassDeclaration(GetDataContractRequest); +GPBObjCClassDeclaration(GetDataContractRequest_GetDataContractRequestV0); +GPBObjCClassDeclaration(GetDataContractResponse); +GPBObjCClassDeclaration(GetDataContractResponse_GetDataContractResponseV0); +GPBObjCClassDeclaration(GetDataContractsRequest); +GPBObjCClassDeclaration(GetDataContractsRequest_GetDataContractsRequestV0); GPBObjCClassDeclaration(GetDataContractsResponse); GPBObjCClassDeclaration(GetDataContractsResponse_DataContractEntry); -GPBObjCClassDeclaration(GetDataContractsResponse_DataContractValue); GPBObjCClassDeclaration(GetDataContractsResponse_DataContracts); +GPBObjCClassDeclaration(GetDataContractsResponse_GetDataContractsResponseV0); +GPBObjCClassDeclaration(GetDocumentsRequest); +GPBObjCClassDeclaration(GetDocumentsRequest_GetDocumentsRequestV0); GPBObjCClassDeclaration(GetDocumentsResponse); -GPBObjCClassDeclaration(GetDocumentsResponse_Documents); +GPBObjCClassDeclaration(GetDocumentsResponse_GetDocumentsResponseV0); +GPBObjCClassDeclaration(GetDocumentsResponse_GetDocumentsResponseV0_Documents); +GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesRequest); +GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0); GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesResponse); -GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesResponse_Identities); -GPBObjCClassDeclaration(GetIdentitiesKeysRequest); -GPBObjCClassDeclaration(GetIdentitiesKeysRequest_SecurityLevelMap); -GPBObjCClassDeclaration(GetIdentitiesKeysResponse); -GPBObjCClassDeclaration(GetIdentitiesKeysResponse_PublicKey); -GPBObjCClassDeclaration(GetIdentitiesKeysResponse_PublicKeyEntries); -GPBObjCClassDeclaration(GetIdentitiesKeysResponse_PublicKeyEntry); +GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0); +GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes); +GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry); +GPBObjCClassDeclaration(GetIdentitiesRequest); +GPBObjCClassDeclaration(GetIdentitiesRequest_GetIdentitiesRequestV0); GPBObjCClassDeclaration(GetIdentitiesResponse); +GPBObjCClassDeclaration(GetIdentitiesResponse_GetIdentitiesResponseV0); GPBObjCClassDeclaration(GetIdentitiesResponse_Identities); GPBObjCClassDeclaration(GetIdentitiesResponse_IdentityEntry); GPBObjCClassDeclaration(GetIdentitiesResponse_IdentityValue); +GPBObjCClassDeclaration(GetIdentityBalanceAndRevisionRequest); +GPBObjCClassDeclaration(GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0); GPBObjCClassDeclaration(GetIdentityBalanceAndRevisionResponse); -GPBObjCClassDeclaration(GetIdentityBalanceAndRevisionResponse_BalanceAndRevision); +GPBObjCClassDeclaration(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0); +GPBObjCClassDeclaration(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision); +GPBObjCClassDeclaration(GetIdentityBalanceRequest); +GPBObjCClassDeclaration(GetIdentityBalanceRequest_GetIdentityBalanceRequestV0); +GPBObjCClassDeclaration(GetIdentityBalanceResponse); +GPBObjCClassDeclaration(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0); +GPBObjCClassDeclaration(GetIdentityByPublicKeyHashRequest); +GPBObjCClassDeclaration(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0); +GPBObjCClassDeclaration(GetIdentityByPublicKeyHashResponse); +GPBObjCClassDeclaration(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0); +GPBObjCClassDeclaration(GetIdentityKeysRequest); +GPBObjCClassDeclaration(GetIdentityKeysRequest_GetIdentityKeysRequestV0); GPBObjCClassDeclaration(GetIdentityKeysResponse); -GPBObjCClassDeclaration(GetIdentityKeysResponse_Keys); +GPBObjCClassDeclaration(GetIdentityKeysResponse_GetIdentityKeysResponseV0); +GPBObjCClassDeclaration(GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys); +GPBObjCClassDeclaration(GetIdentityRequest); +GPBObjCClassDeclaration(GetIdentityRequest_GetIdentityRequestV0); +GPBObjCClassDeclaration(GetIdentityResponse); +GPBObjCClassDeclaration(GetIdentityResponse_GetIdentityResponseV0); GPBObjCClassDeclaration(GetProofsRequest); -GPBObjCClassDeclaration(GetProofsRequest_ContractRequest); -GPBObjCClassDeclaration(GetProofsRequest_DocumentRequest); -GPBObjCClassDeclaration(GetProofsRequest_IdentityRequest); +GPBObjCClassDeclaration(GetProofsRequest_GetProofsRequestV0); +GPBObjCClassDeclaration(GetProofsRequest_GetProofsRequestV0_ContractRequest); +GPBObjCClassDeclaration(GetProofsRequest_GetProofsRequestV0_DocumentRequest); +GPBObjCClassDeclaration(GetProofsRequest_GetProofsRequestV0_IdentityRequest); +GPBObjCClassDeclaration(GetProofsResponse); +GPBObjCClassDeclaration(GetProofsResponse_GetProofsResponseV0); GPBObjCClassDeclaration(KeyRequestType); GPBObjCClassDeclaration(Proof); GPBObjCClassDeclaration(ResponseMetadata); @@ -68,6 +106,10 @@ GPBObjCClassDeclaration(SecurityLevelMap); GPBObjCClassDeclaration(SpecificKeys); GPBObjCClassDeclaration(StateTransitionBroadcastError); +GPBObjCClassDeclaration(WaitForStateTransitionResultRequest); +GPBObjCClassDeclaration(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0); +GPBObjCClassDeclaration(WaitForStateTransitionResultResponse); +GPBObjCClassDeclaration(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0); #pragma mark - PlatformRoot @@ -429,13 +471,70 @@ + (GPBDescriptor *)descriptor { @implementation GetIdentityRequest +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetIdentityRequest__storage_ { + uint32_t _has_storage_[2]; + GetIdentityRequest_GetIdentityRequestV0 *v0; +} GetIdentityRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityRequest_GetIdentityRequestV0), + .number = GetIdentityRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetIdentityRequest_ClearVersionOneOfCase(GetIdentityRequest *message) { + GPBDescriptor *descriptor = [GetIdentityRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityRequest_GetIdentityRequestV0 + +@implementation GetIdentityRequest_GetIdentityRequestV0 + @dynamic id_p; @dynamic prove; -typedef struct GetIdentityRequest__storage_ { +typedef struct GetIdentityRequest_GetIdentityRequestV0__storage_ { uint32_t _has_storage_[1]; NSData *id_p; -} GetIdentityRequest__storage_; +} GetIdentityRequest_GetIdentityRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -446,16 +545,16 @@ + (GPBDescriptor *)descriptor { { .name = "id_p", .dataTypeSpecific.clazz = Nil, - .number = GetIdentityRequest_FieldNumber_Id_p, + .number = GetIdentityRequest_GetIdentityRequestV0_FieldNumber_Id_p, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityRequest__storage_, id_p), + .offset = (uint32_t)offsetof(GetIdentityRequest_GetIdentityRequestV0__storage_, id_p), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetIdentityRequest_FieldNumber_Prove, + .number = GetIdentityRequest_GetIdentityRequestV0_FieldNumber_Prove, .hasIndex = 1, .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), @@ -463,13 +562,14 @@ + (GPBDescriptor *)descriptor { }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityRequest_GetIdentityRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityRequest__storage_) + storageSize:sizeof(GetIdentityRequest_GetIdentityRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -480,21 +580,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentityResponse +#pragma mark - GetIdentityBalanceRequest -@implementation GetIdentityResponse +@implementation GetIdentityBalanceRequest -@dynamic resultOneOfCase; -@dynamic identity; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentityResponse__storage_ { +typedef struct GetIdentityBalanceRequest__storage_ { uint32_t _has_storage_[2]; - NSData *identity; - Proof *proof; - ResponseMetadata *metadata; -} GetIdentityResponse__storage_; + GetIdentityBalanceRequest_GetIdentityBalanceRequestV0 *v0; +} GetIdentityBalanceRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -503,43 +599,25 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identity", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentityResponse_FieldNumber_Identity, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityResponse__storage_, identity), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, - }, - { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentityResponse_FieldNumber_Proof, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityBalanceRequest_GetIdentityBalanceRequestV0), + .number = GetIdentityBalanceRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityResponse__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentityResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentityBalanceRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityResponse__storage_) + storageSize:sizeof(GetIdentityBalanceRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -554,22 +632,22 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityResponse_ClearResultOneOfCase(GetIdentityResponse *message) { - GPBDescriptor *descriptor = [GetIdentityResponse descriptor]; +void GetIdentityBalanceRequest_ClearVersionOneOfCase(GetIdentityBalanceRequest *message) { + GPBDescriptor *descriptor = [GetIdentityBalanceRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentitiesRequest +#pragma mark - GetIdentityBalanceRequest_GetIdentityBalanceRequestV0 -@implementation GetIdentitiesRequest +@implementation GetIdentityBalanceRequest_GetIdentityBalanceRequestV0 -@dynamic idsArray, idsArray_Count; +@dynamic id_p; @dynamic prove; -typedef struct GetIdentitiesRequest__storage_ { +typedef struct GetIdentityBalanceRequest_GetIdentityBalanceRequestV0__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *idsArray; -} GetIdentitiesRequest__storage_; + NSData *id_p; +} GetIdentityBalanceRequest_GetIdentityBalanceRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -578,32 +656,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "idsArray", + .name = "id_p", .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesRequest_FieldNumber_IdsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentitiesRequest__storage_, idsArray), - .flags = GPBFieldRepeated, + .number = GetIdentityBalanceRequest_GetIdentityBalanceRequestV0_FieldNumber_Id_p, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentityBalanceRequest_GetIdentityBalanceRequestV0__storage_, id_p), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesRequest_FieldNumber_Prove, - .hasIndex = 0, - .offset = 1, // Stored in _has_storage_ to save space. + .number = GetIdentityBalanceRequest_GetIdentityBalanceRequestV0_FieldNumber_Prove, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceRequest_GetIdentityBalanceRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesRequest__storage_) + storageSize:sizeof(GetIdentityBalanceRequest_GetIdentityBalanceRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityBalanceRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -614,21 +693,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesResponse +#pragma mark - GetIdentityBalanceAndRevisionRequest -@implementation GetIdentitiesResponse +@implementation GetIdentityBalanceAndRevisionRequest -@dynamic resultOneOfCase; -@dynamic identities; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentitiesResponse__storage_ { +typedef struct GetIdentityBalanceAndRevisionRequest__storage_ { uint32_t _has_storage_[2]; - GetIdentitiesResponse_Identities *identities; - Proof *proof; - ResponseMetadata *metadata; -} GetIdentitiesResponse__storage_; + GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0 *v0; +} GetIdentityBalanceAndRevisionRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -637,43 +712,25 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identities", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesResponse_Identities), - .number = GetIdentitiesResponse_FieldNumber_Identities, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentitiesResponse__storage_, identities), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentitiesResponse_FieldNumber_Proof, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0), + .number = GetIdentityBalanceAndRevisionRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentitiesResponse__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentitiesResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceAndRevisionRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesResponse__storage_) + storageSize:sizeof(GetIdentityBalanceAndRevisionRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -688,21 +745,22 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentitiesResponse_ClearResultOneOfCase(GetIdentitiesResponse *message) { - GPBDescriptor *descriptor = [GetIdentitiesResponse descriptor]; +void GetIdentityBalanceAndRevisionRequest_ClearVersionOneOfCase(GetIdentityBalanceAndRevisionRequest *message) { + GPBDescriptor *descriptor = [GetIdentityBalanceAndRevisionRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentitiesResponse_IdentityValue +#pragma mark - GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0 -@implementation GetIdentitiesResponse_IdentityValue +@implementation GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0 -@dynamic value; +@dynamic id_p; +@dynamic prove; -typedef struct GetIdentitiesResponse_IdentityValue__storage_ { +typedef struct GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *value; -} GetIdentitiesResponse_IdentityValue__storage_; + NSData *id_p; +} GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -711,81 +769,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "value", + .name = "id_p", .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesResponse_IdentityValue_FieldNumber_Value, + .number = GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0_FieldNumber_Id_p, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesResponse_IdentityValue__storage_, value), + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0__storage_, id_p), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse_IdentityValue class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesResponse_IdentityValue__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesResponse)]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -#pragma mark - GetIdentitiesResponse_IdentityEntry - -@implementation GetIdentitiesResponse_IdentityEntry - -@dynamic key; -@dynamic hasValue, value; - -typedef struct GetIdentitiesResponse_IdentityEntry__storage_ { - uint32_t _has_storage_[1]; - NSData *key; - GetIdentitiesResponse_IdentityValue *value; -} GetIdentitiesResponse_IdentityEntry__storage_; - -// This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { { - .name = "key", + .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesResponse_IdentityEntry_FieldNumber_Key, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesResponse_IdentityEntry__storage_, key), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "value", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesResponse_IdentityValue), - .number = GetIdentitiesResponse_IdentityEntry_FieldNumber_Value, + .number = GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0_FieldNumber_Prove, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetIdentitiesResponse_IdentityEntry__storage_, value), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse_IdentityEntry class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesResponse_IdentityEntry__storage_) + storageSize:sizeof(GetIdentityBalanceAndRevisionRequest_GetIdentityBalanceAndRevisionRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityBalanceAndRevisionRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -796,16 +806,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesResponse_Identities +#pragma mark - GetIdentityResponse -@implementation GetIdentitiesResponse_Identities +@implementation GetIdentityResponse -@dynamic identityEntriesArray, identityEntriesArray_Count; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentitiesResponse_Identities__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *identityEntriesArray; -} GetIdentitiesResponse_Identities__storage_; +typedef struct GetIdentityResponse__storage_ { + uint32_t _has_storage_[2]; + GetIdentityResponse_GetIdentityResponseV0 *v0; +} GetIdentityResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -814,24 +825,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identityEntriesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesResponse_IdentityEntry), - .number = GetIdentitiesResponse_Identities_FieldNumber_IdentityEntriesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentitiesResponse_Identities__storage_, identityEntriesArray), - .flags = GPBFieldRepeated, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityResponse_GetIdentityResponseV0), + .number = GetIdentityResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityResponse__storage_, v0), + .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse_Identities class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesResponse_Identities__storage_) + storageSize:sizeof(GetIdentityResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesResponse)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -842,21 +858,26 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentityBalanceResponse +void GetIdentityResponse_ClearVersionOneOfCase(GetIdentityResponse *message) { + GPBDescriptor *descriptor = [GetIdentityResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityResponse_GetIdentityResponseV0 -@implementation GetIdentityBalanceResponse +@implementation GetIdentityResponse_GetIdentityResponseV0 @dynamic resultOneOfCase; -@dynamic balance; +@dynamic identity; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetIdentityBalanceResponse__storage_ { +typedef struct GetIdentityResponse_GetIdentityResponseV0__storage_ { uint32_t _has_storage_[2]; - GPBUInt64Value *balance; + NSData *identity; Proof *proof; ResponseMetadata *metadata; -} GetIdentityBalanceResponse__storage_; +} GetIdentityResponse_GetIdentityResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -865,40 +886,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "balance", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt64Value), - .number = GetIdentityBalanceResponse_FieldNumber_Balance, + .name = "identity", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityResponse_GetIdentityResponseV0_FieldNumber_Identity, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityBalanceResponse__storage_, balance), + .offset = (uint32_t)offsetof(GetIdentityResponse_GetIdentityResponseV0__storage_, identity), .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeBytes, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentityBalanceResponse_FieldNumber_Proof, + .number = GetIdentityResponse_GetIdentityResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityBalanceResponse__storage_, proof), + .offset = (uint32_t)offsetof(GetIdentityResponse_GetIdentityResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentityBalanceResponse_FieldNumber_Metadata, + .number = GetIdentityResponse_GetIdentityResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityBalanceResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentityResponse_GetIdentityResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityResponse_GetIdentityResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityBalanceResponse__storage_) + storageSize:sizeof(GetIdentityResponse_GetIdentityResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -906,6 +927,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -916,26 +938,22 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityBalanceResponse_ClearResultOneOfCase(GetIdentityBalanceResponse *message) { - GPBDescriptor *descriptor = [GetIdentityBalanceResponse descriptor]; +void GetIdentityResponse_GetIdentityResponseV0_ClearResultOneOfCase(GetIdentityResponse_GetIdentityResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentityResponse_GetIdentityResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentityBalanceAndRevisionResponse +#pragma mark - GetIdentitiesRequest -@implementation GetIdentityBalanceAndRevisionResponse +@implementation GetIdentitiesRequest -@dynamic resultOneOfCase; -@dynamic balanceAndRevision; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentityBalanceAndRevisionResponse__storage_ { +typedef struct GetIdentitiesRequest__storage_ { uint32_t _has_storage_[2]; - GetIdentityBalanceAndRevisionResponse_BalanceAndRevision *balanceAndRevision; - Proof *proof; - ResponseMetadata *metadata; -} GetIdentityBalanceAndRevisionResponse__storage_; + GetIdentitiesRequest_GetIdentitiesRequestV0 *v0; +} GetIdentitiesRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -944,43 +962,25 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "balanceAndRevision", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityBalanceAndRevisionResponse_BalanceAndRevision), - .number = GetIdentityBalanceAndRevisionResponse_FieldNumber_BalanceAndRevision, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse__storage_, balanceAndRevision), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentityBalanceAndRevisionResponse_FieldNumber_Proof, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesRequest_GetIdentitiesRequestV0), + .number = GetIdentitiesRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentityBalanceAndRevisionResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentitiesRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceAndRevisionResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityBalanceAndRevisionResponse__storage_) + storageSize:sizeof(GetIdentitiesRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -995,23 +995,22 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityBalanceAndRevisionResponse_ClearResultOneOfCase(GetIdentityBalanceAndRevisionResponse *message) { - GPBDescriptor *descriptor = [GetIdentityBalanceAndRevisionResponse descriptor]; +void GetIdentitiesRequest_ClearVersionOneOfCase(GetIdentitiesRequest *message) { + GPBDescriptor *descriptor = [GetIdentitiesRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentityBalanceAndRevisionResponse_BalanceAndRevision +#pragma mark - GetIdentitiesRequest_GetIdentitiesRequestV0 -@implementation GetIdentityBalanceAndRevisionResponse_BalanceAndRevision +@implementation GetIdentitiesRequest_GetIdentitiesRequestV0 -@dynamic hasBalance, balance; -@dynamic hasRevision, revision; +@dynamic idsArray, idsArray_Count; +@dynamic prove; -typedef struct GetIdentityBalanceAndRevisionResponse_BalanceAndRevision__storage_ { +typedef struct GetIdentitiesRequest_GetIdentitiesRequestV0__storage_ { uint32_t _has_storage_[1]; - GPBUInt64Value *balance; - GPBUInt64Value *revision; -} GetIdentityBalanceAndRevisionResponse_BalanceAndRevision__storage_; + NSMutableArray *idsArray; +} GetIdentitiesRequest_GetIdentitiesRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1020,33 +1019,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "balance", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt64Value), - .number = GetIdentityBalanceAndRevisionResponse_BalanceAndRevision_FieldNumber_Balance, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse_BalanceAndRevision__storage_, balance), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .name = "idsArray", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentitiesRequest_GetIdentitiesRequestV0_FieldNumber_IdsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetIdentitiesRequest_GetIdentitiesRequestV0__storage_, idsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, }, { - .name = "revision", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt64Value), - .number = GetIdentityBalanceAndRevisionResponse_BalanceAndRevision_FieldNumber_Revision, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse_BalanceAndRevision__storage_, revision), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentitiesRequest_GetIdentitiesRequestV0_FieldNumber_Prove, + .hasIndex = 0, + .offset = 1, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceAndRevisionResponse_BalanceAndRevision class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesRequest_GetIdentitiesRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityBalanceAndRevisionResponse_BalanceAndRevision__storage_) + storageSize:sizeof(GetIdentitiesRequest_GetIdentitiesRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityBalanceAndRevisionResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1057,21 +1056,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - KeyRequestType +#pragma mark - GetIdentitiesResponse -@implementation KeyRequestType +@implementation GetIdentitiesResponse -@dynamic requestOneOfCase; -@dynamic allKeys; -@dynamic specificKeys; -@dynamic searchKey; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct KeyRequestType__storage_ { +typedef struct GetIdentitiesResponse__storage_ { uint32_t _has_storage_[2]; - AllKeys *allKeys; - SpecificKeys *specificKeys; - SearchKey *searchKey; -} KeyRequestType__storage_; + GetIdentitiesResponse_GetIdentitiesResponseV0 *v0; +} GetIdentitiesResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1080,43 +1075,25 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "allKeys", - .dataTypeSpecific.clazz = GPBObjCClass(AllKeys), - .number = KeyRequestType_FieldNumber_AllKeys, - .hasIndex = -1, - .offset = (uint32_t)offsetof(KeyRequestType__storage_, allKeys), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "specificKeys", - .dataTypeSpecific.clazz = GPBObjCClass(SpecificKeys), - .number = KeyRequestType_FieldNumber_SpecificKeys, - .hasIndex = -1, - .offset = (uint32_t)offsetof(KeyRequestType__storage_, specificKeys), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "searchKey", - .dataTypeSpecific.clazz = GPBObjCClass(SearchKey), - .number = KeyRequestType_FieldNumber_SearchKey, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesResponse_GetIdentitiesResponseV0), + .number = GetIdentitiesResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(KeyRequestType__storage_, searchKey), + .offset = (uint32_t)offsetof(GetIdentitiesResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[KeyRequestType class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(KeyRequestType__storage_) + storageSize:sizeof(GetIdentitiesResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "request", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -1131,33 +1108,47 @@ + (GPBDescriptor *)descriptor { @end -void KeyRequestType_ClearRequestOneOfCase(KeyRequestType *message) { - GPBDescriptor *descriptor = [KeyRequestType descriptor]; +void GetIdentitiesResponse_ClearVersionOneOfCase(GetIdentitiesResponse *message) { + GPBDescriptor *descriptor = [GetIdentitiesResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - AllKeys +#pragma mark - GetIdentitiesResponse_IdentityValue -@implementation AllKeys +@implementation GetIdentitiesResponse_IdentityValue +@dynamic value; -typedef struct AllKeys__storage_ { +typedef struct GetIdentitiesResponse_IdentityValue__storage_ { uint32_t _has_storage_[1]; -} AllKeys__storage_; + NSData *value; +} GetIdentitiesResponse_IdentityValue__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "value", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentitiesResponse_IdentityValue_FieldNumber_Value, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentitiesResponse_IdentityValue__storage_, value), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[AllKeys class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse_IdentityValue class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() - fields:NULL - fieldCount:0 - storageSize:sizeof(AllKeys__storage_) + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentitiesResponse_IdentityValue__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1168,16 +1159,18 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - SpecificKeys +#pragma mark - GetIdentitiesResponse_IdentityEntry -@implementation SpecificKeys +@implementation GetIdentitiesResponse_IdentityEntry -@dynamic keyIdsArray, keyIdsArray_Count; +@dynamic key; +@dynamic hasValue, value; -typedef struct SpecificKeys__storage_ { +typedef struct GetIdentitiesResponse_IdentityEntry__storage_ { uint32_t _has_storage_[1]; - GPBUInt32Array *keyIdsArray; -} SpecificKeys__storage_; + NSData *key; + GetIdentitiesResponse_IdentityValue *value; +} GetIdentitiesResponse_IdentityEntry__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1186,23 +1179,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "keyIdsArray", + .name = "key", .dataTypeSpecific.clazz = Nil, - .number = SpecificKeys_FieldNumber_KeyIdsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SpecificKeys__storage_, keyIdsArray), - .flags = (GPBFieldFlags)(GPBFieldRepeated | GPBFieldPacked), - .dataType = GPBDataTypeUInt32, + .number = GetIdentitiesResponse_IdentityEntry_FieldNumber_Key, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentitiesResponse_IdentityEntry__storage_, key), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "value", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesResponse_IdentityValue), + .number = GetIdentitiesResponse_IdentityEntry_FieldNumber_Value, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetIdentitiesResponse_IdentityEntry__storage_, value), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[SpecificKeys class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse_IdentityEntry class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(SpecificKeys__storage_) + storageSize:sizeof(GetIdentitiesResponse_IdentityEntry__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1213,16 +1216,16 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - SearchKey +#pragma mark - GetIdentitiesResponse_Identities -@implementation SearchKey +@implementation GetIdentitiesResponse_Identities -@dynamic purposeMap, purposeMap_Count; +@dynamic identityEntriesArray, identityEntriesArray_Count; -typedef struct SearchKey__storage_ { +typedef struct GetIdentitiesResponse_Identities__storage_ { uint32_t _has_storage_[1]; - GPBUInt32ObjectDictionary *purposeMap; -} SearchKey__storage_; + NSMutableArray *identityEntriesArray; +} GetIdentitiesResponse_Identities__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1231,23 +1234,24 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "purposeMap", - .dataTypeSpecific.clazz = GPBObjCClass(SecurityLevelMap), - .number = SearchKey_FieldNumber_PurposeMap, + .name = "identityEntriesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesResponse_IdentityEntry), + .number = GetIdentitiesResponse_Identities_FieldNumber_IdentityEntriesArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SearchKey__storage_, purposeMap), - .flags = GPBFieldMapKeyUInt32, + .offset = (uint32_t)offsetof(GetIdentitiesResponse_Identities__storage_, identityEntriesArray), + .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[SearchKey class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse_Identities class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(SearchKey__storage_) + storageSize:sizeof(GetIdentitiesResponse_Identities__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1258,16 +1262,21 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - SecurityLevelMap +#pragma mark - GetIdentitiesResponse_GetIdentitiesResponseV0 -@implementation SecurityLevelMap +@implementation GetIdentitiesResponse_GetIdentitiesResponseV0 -@dynamic securityLevelMap, securityLevelMap_Count; +@dynamic resultOneOfCase; +@dynamic identities; +@dynamic proof; +@dynamic hasMetadata, metadata; -typedef struct SecurityLevelMap__storage_ { - uint32_t _has_storage_[1]; - GPBUInt32EnumDictionary *securityLevelMap; -} SecurityLevelMap__storage_; +typedef struct GetIdentitiesResponse_GetIdentitiesResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetIdentitiesResponse_Identities *identities; + Proof *proof; + ResponseMetadata *metadata; +} GetIdentitiesResponse_GetIdentitiesResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1276,23 +1285,48 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "securityLevelMap", - .dataTypeSpecific.enumDescFunc = SecurityLevelMap_KeyKindRequestType_EnumDescriptor, - .number = SecurityLevelMap_FieldNumber_SecurityLevelMap, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SecurityLevelMap__storage_, securityLevelMap), - .flags = (GPBFieldFlags)(GPBFieldMapKeyUInt32 | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, + .name = "identities", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesResponse_Identities), + .number = GetIdentitiesResponse_GetIdentitiesResponseV0_FieldNumber_Identities, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentitiesResponse_GetIdentitiesResponseV0__storage_, identities), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetIdentitiesResponse_GetIdentitiesResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentitiesResponse_GetIdentitiesResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetIdentitiesResponse_GetIdentitiesResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentitiesResponse_GetIdentitiesResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[SecurityLevelMap class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesResponse_GetIdentitiesResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(SecurityLevelMap__storage_) + storageSize:sizeof(GetIdentitiesResponse_GetIdentitiesResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1303,59 +1337,22 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - Enum SecurityLevelMap_KeyKindRequestType +void GetIdentitiesResponse_GetIdentitiesResponseV0_ClearResultOneOfCase(GetIdentitiesResponse_GetIdentitiesResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentitiesResponse_GetIdentitiesResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityBalanceResponse -GPBEnumDescriptor *SecurityLevelMap_KeyKindRequestType_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = - "CurrentKeyOfKindRequest\000AllKeysOfKindReq" - "uest\000"; - static const int32_t values[] = { - SecurityLevelMap_KeyKindRequestType_CurrentKeyOfKindRequest, - SecurityLevelMap_KeyKindRequestType_AllKeysOfKindRequest, - }; - GPBEnumDescriptor *worker = - [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SecurityLevelMap_KeyKindRequestType) - valueNames:valueNames - values:values - count:(uint32_t)(sizeof(values) / sizeof(int32_t)) - enumVerifier:SecurityLevelMap_KeyKindRequestType_IsValidValue]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; - } - } - return descriptor; -} - -BOOL SecurityLevelMap_KeyKindRequestType_IsValidValue(int32_t value__) { - switch (value__) { - case SecurityLevelMap_KeyKindRequestType_CurrentKeyOfKindRequest: - case SecurityLevelMap_KeyKindRequestType_AllKeysOfKindRequest: - return YES; - default: - return NO; - } -} - -#pragma mark - GetIdentityKeysRequest - -@implementation GetIdentityKeysRequest +@implementation GetIdentityBalanceResponse -@dynamic identityId; -@dynamic hasRequestType, requestType; -@dynamic hasLimit, limit; -@dynamic hasOffset, offset; -@dynamic prove; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentityKeysRequest__storage_ { - uint32_t _has_storage_[1]; - NSData *identityId; - KeyRequestType *requestType; - GPBUInt32Value *limit; - GPBUInt32Value *offset; -} GetIdentityKeysRequest__storage_; +typedef struct GetIdentityBalanceResponse__storage_ { + uint32_t _has_storage_[2]; + GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 *v0; +} GetIdentityBalanceResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1364,59 +1361,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identityId", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentityKeysRequest_FieldNumber_IdentityId, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityKeysRequest__storage_, identityId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "requestType", - .dataTypeSpecific.clazz = GPBObjCClass(KeyRequestType), - .number = GetIdentityKeysRequest_FieldNumber_RequestType, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetIdentityKeysRequest__storage_, requestType), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "limit", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetIdentityKeysRequest_FieldNumber_Limit, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetIdentityKeysRequest__storage_, limit), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "offset", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetIdentityKeysRequest_FieldNumber_Offset, - .hasIndex = 3, - .offset = (uint32_t)offsetof(GetIdentityKeysRequest__storage_, offset), + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0), + .number = GetIdentityBalanceResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityBalanceResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentityKeysRequest_FieldNumber_Prove, - .hasIndex = 4, - .offset = 5, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, - }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityKeysRequest__storage_) + storageSize:sizeof(GetIdentityBalanceResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1427,21 +1394,26 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentityKeysResponse +void GetIdentityBalanceResponse_ClearVersionOneOfCase(GetIdentityBalanceResponse *message) { + GPBDescriptor *descriptor = [GetIdentityBalanceResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 -@implementation GetIdentityKeysResponse +@implementation GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 @dynamic resultOneOfCase; -@dynamic keys; +@dynamic balance; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetIdentityKeysResponse__storage_ { +typedef struct GetIdentityBalanceResponse_GetIdentityBalanceResponseV0__storage_ { uint32_t _has_storage_[2]; - GetIdentityKeysResponse_Keys *keys; Proof *proof; ResponseMetadata *metadata; -} GetIdentityKeysResponse__storage_; + uint64_t balance; +} GetIdentityBalanceResponse_GetIdentityBalanceResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1450,40 +1422,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "keys", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityKeysResponse_Keys), - .number = GetIdentityKeysResponse_FieldNumber_Keys, + .name = "balance", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_FieldNumber_Balance, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityKeysResponse__storage_, keys), + .offset = (uint32_t)offsetof(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0__storage_, balance), .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeUInt64, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentityKeysResponse_FieldNumber_Proof, + .number = GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityKeysResponse__storage_, proof), + .offset = (uint32_t)offsetof(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentityKeysResponse_FieldNumber_Metadata, + .number = GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityKeysResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityKeysResponse__storage_) + storageSize:sizeof(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -1491,6 +1463,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityBalanceResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1501,21 +1474,22 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityKeysResponse_ClearResultOneOfCase(GetIdentityKeysResponse *message) { - GPBDescriptor *descriptor = [GetIdentityKeysResponse descriptor]; +void GetIdentityBalanceResponse_GetIdentityBalanceResponseV0_ClearResultOneOfCase(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentityBalanceResponse_GetIdentityBalanceResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentityKeysResponse_Keys +#pragma mark - GetIdentityBalanceAndRevisionResponse -@implementation GetIdentityKeysResponse_Keys +@implementation GetIdentityBalanceAndRevisionResponse -@dynamic keysBytesArray, keysBytesArray_Count; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentityKeysResponse_Keys__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *keysBytesArray; -} GetIdentityKeysResponse_Keys__storage_; +typedef struct GetIdentityBalanceAndRevisionResponse__storage_ { + uint32_t _has_storage_[2]; + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 *v0; +} GetIdentityBalanceAndRevisionResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1524,24 +1498,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "keysBytesArray", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentityKeysResponse_Keys_FieldNumber_KeysBytesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentityKeysResponse_Keys__storage_, keysBytesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0), + .number = GetIdentityBalanceAndRevisionResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysResponse_Keys class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceAndRevisionResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityKeysResponse_Keys__storage_) + storageSize:sizeof(GetIdentityBalanceAndRevisionResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityKeysResponse)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1552,23 +1531,26 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesKeysRequest +void GetIdentityBalanceAndRevisionResponse_ClearVersionOneOfCase(GetIdentityBalanceAndRevisionResponse *message) { + GPBDescriptor *descriptor = [GetIdentityBalanceAndRevisionResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 -@implementation GetIdentitiesKeysRequest +@implementation GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 -@dynamic identityIdsArray, identityIdsArray_Count; -@dynamic hasRequestType, requestType; -@dynamic hasLimit, limit; -@dynamic hasOffset, offset; -@dynamic prove; +@dynamic resultOneOfCase; +@dynamic balanceAndRevision; +@dynamic proof; +@dynamic hasMetadata, metadata; -typedef struct GetIdentitiesKeysRequest__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *identityIdsArray; - KeyRequestType *requestType; - GPBUInt32Value *limit; - GPBUInt32Value *offset; -} GetIdentitiesKeysRequest__storage_; +typedef struct GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision *balanceAndRevision; + Proof *proof; + ResponseMetadata *metadata; +} GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1577,59 +1559,48 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identityIdsArray", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesKeysRequest_FieldNumber_IdentityIdsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentitiesKeysRequest__storage_, identityIdsArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, - }, - { - .name = "requestType", - .dataTypeSpecific.clazz = GPBObjCClass(KeyRequestType), - .number = GetIdentitiesKeysRequest_FieldNumber_RequestType, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesKeysRequest__storage_, requestType), + .name = "balanceAndRevision", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision), + .number = GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_FieldNumber_BalanceAndRevision, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0__storage_, balanceAndRevision), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { - .name = "limit", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetIdentitiesKeysRequest_FieldNumber_Limit, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetIdentitiesKeysRequest__storage_, limit), + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { - .name = "offset", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetIdentitiesKeysRequest_FieldNumber_Offset, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetIdentitiesKeysRequest__storage_, offset), + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesKeysRequest_FieldNumber_Prove, - .hasIndex = 3, - .offset = 4, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, - }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesKeysRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesKeysRequest__storage_) + storageSize:sizeof(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityBalanceAndRevisionResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1640,16 +1611,23 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesKeysRequest_SecurityLevelMap +void GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_ClearResultOneOfCase(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision -@implementation GetIdentitiesKeysRequest_SecurityLevelMap +@implementation GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision -@dynamic securityLevelMap, securityLevelMap_Count; +@dynamic balance; +@dynamic revision; -typedef struct GetIdentitiesKeysRequest_SecurityLevelMap__storage_ { +typedef struct GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision__storage_ { uint32_t _has_storage_[1]; - GPBUInt32EnumDictionary *securityLevelMap; -} GetIdentitiesKeysRequest_SecurityLevelMap__storage_; + uint64_t balance; + uint64_t revision; +} GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1658,24 +1636,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "securityLevelMap", - .dataTypeSpecific.enumDescFunc = GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_EnumDescriptor, - .number = GetIdentitiesKeysRequest_SecurityLevelMap_FieldNumber_SecurityLevelMap, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentitiesKeysRequest_SecurityLevelMap__storage_, securityLevelMap), - .flags = (GPBFieldFlags)(GPBFieldMapKeyUInt32 | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, + .name = "balance", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision_FieldNumber_Balance, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision__storage_, balance), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "revision", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision_FieldNumber_Revision, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision__storage_, revision), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesKeysRequest_SecurityLevelMap class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesKeysRequest_SecurityLevelMap__storage_) + storageSize:sizeof(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesKeysRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1686,54 +1673,21 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - Enum GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType - -GPBEnumDescriptor *GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = - "CurrentKeyOfKindRequest\000"; - static const int32_t values[] = { - GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_CurrentKeyOfKindRequest, - }; - GPBEnumDescriptor *worker = - [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType) - valueNames:valueNames - values:values - count:(uint32_t)(sizeof(values) / sizeof(int32_t)) - enumVerifier:GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_IsValidValue]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; - } - } - return descriptor; -} - -BOOL GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_IsValidValue(int32_t value__) { - switch (value__) { - case GetIdentitiesKeysRequest_SecurityLevelMap_KeyKindRequestType_CurrentKeyOfKindRequest: - return YES; - default: - return NO; - } -} - -#pragma mark - GetIdentitiesKeysResponse +#pragma mark - KeyRequestType -@implementation GetIdentitiesKeysResponse +@implementation KeyRequestType -@dynamic resultOneOfCase; -@dynamic publicKeys; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic requestOneOfCase; +@dynamic allKeys; +@dynamic specificKeys; +@dynamic searchKey; -typedef struct GetIdentitiesKeysResponse__storage_ { +typedef struct KeyRequestType__storage_ { uint32_t _has_storage_[2]; - GetIdentitiesKeysResponse_PublicKeyEntries *publicKeys; - Proof *proof; - ResponseMetadata *metadata; -} GetIdentitiesKeysResponse__storage_; + AllKeys *allKeys; + SpecificKeys *specificKeys; + SearchKey *searchKey; +} KeyRequestType__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1742,43 +1696,43 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "publicKeys", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesKeysResponse_PublicKeyEntries), - .number = GetIdentitiesKeysResponse_FieldNumber_PublicKeys, + .name = "allKeys", + .dataTypeSpecific.clazz = GPBObjCClass(AllKeys), + .number = KeyRequestType_FieldNumber_AllKeys, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentitiesKeysResponse__storage_, publicKeys), + .offset = (uint32_t)offsetof(KeyRequestType__storage_, allKeys), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentitiesKeysResponse_FieldNumber_Proof, + .name = "specificKeys", + .dataTypeSpecific.clazz = GPBObjCClass(SpecificKeys), + .number = KeyRequestType_FieldNumber_SpecificKeys, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentitiesKeysResponse__storage_, proof), + .offset = (uint32_t)offsetof(KeyRequestType__storage_, specificKeys), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentitiesKeysResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesKeysResponse__storage_, metadata), + .name = "searchKey", + .dataTypeSpecific.clazz = GPBObjCClass(SearchKey), + .number = KeyRequestType_FieldNumber_SearchKey, + .hasIndex = -1, + .offset = (uint32_t)offsetof(KeyRequestType__storage_, searchKey), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesKeysResponse class] + [GPBDescriptor allocDescriptorForClass:[KeyRequestType class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesKeysResponse__storage_) + storageSize:sizeof(KeyRequestType__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "request", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -1793,47 +1747,33 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentitiesKeysResponse_ClearResultOneOfCase(GetIdentitiesKeysResponse *message) { - GPBDescriptor *descriptor = [GetIdentitiesKeysResponse descriptor]; +void KeyRequestType_ClearRequestOneOfCase(KeyRequestType *message) { + GPBDescriptor *descriptor = [KeyRequestType descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentitiesKeysResponse_PublicKey +#pragma mark - AllKeys -@implementation GetIdentitiesKeysResponse_PublicKey +@implementation AllKeys -@dynamic value; -typedef struct GetIdentitiesKeysResponse_PublicKey__storage_ { +typedef struct AllKeys__storage_ { uint32_t _has_storage_[1]; - NSData *value; -} GetIdentitiesKeysResponse_PublicKey__storage_; +} AllKeys__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "value", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesKeysResponse_PublicKey_FieldNumber_Value, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesKeysResponse_PublicKey__storage_, value), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesKeysResponse_PublicKey class] + [GPBDescriptor allocDescriptorForClass:[AllKeys class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesKeysResponse_PublicKey__storage_) + fields:NULL + fieldCount:0 + storageSize:sizeof(AllKeys__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesKeysResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1844,18 +1784,16 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesKeysResponse_PublicKeyEntry +#pragma mark - SpecificKeys -@implementation GetIdentitiesKeysResponse_PublicKeyEntry +@implementation SpecificKeys -@dynamic key; -@dynamic hasValue, value; +@dynamic keyIdsArray, keyIdsArray_Count; -typedef struct GetIdentitiesKeysResponse_PublicKeyEntry__storage_ { +typedef struct SpecificKeys__storage_ { uint32_t _has_storage_[1]; - NSData *key; - GetIdentitiesKeysResponse_PublicKey *value; -} GetIdentitiesKeysResponse_PublicKeyEntry__storage_; + GPBUInt32Array *keyIdsArray; +} SpecificKeys__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1864,33 +1802,23 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "key", + .name = "keyIdsArray", .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesKeysResponse_PublicKeyEntry_FieldNumber_Key, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesKeysResponse_PublicKeyEntry__storage_, key), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "value", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesKeysResponse_PublicKey), - .number = GetIdentitiesKeysResponse_PublicKeyEntry_FieldNumber_Value, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetIdentitiesKeysResponse_PublicKeyEntry__storage_, value), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .number = SpecificKeys_FieldNumber_KeyIdsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SpecificKeys__storage_, keyIdsArray), + .flags = (GPBFieldFlags)(GPBFieldRepeated | GPBFieldPacked), + .dataType = GPBDataTypeUInt32, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesKeysResponse_PublicKeyEntry class] + [GPBDescriptor allocDescriptorForClass:[SpecificKeys class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesKeysResponse_PublicKeyEntry__storage_) + storageSize:sizeof(SpecificKeys__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesKeysResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1901,16 +1829,16 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesKeysResponse_PublicKeyEntries +#pragma mark - SearchKey -@implementation GetIdentitiesKeysResponse_PublicKeyEntries +@implementation SearchKey -@dynamic publicKeyEntriesArray, publicKeyEntriesArray_Count; +@dynamic purposeMap, purposeMap_Count; -typedef struct GetIdentitiesKeysResponse_PublicKeyEntries__storage_ { +typedef struct SearchKey__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *publicKeyEntriesArray; -} GetIdentitiesKeysResponse_PublicKeyEntries__storage_; + GPBUInt32ObjectDictionary *purposeMap; +} SearchKey__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1919,24 +1847,23 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "publicKeyEntriesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesKeysResponse_PublicKeyEntry), - .number = GetIdentitiesKeysResponse_PublicKeyEntries_FieldNumber_PublicKeyEntriesArray, + .name = "purposeMap", + .dataTypeSpecific.clazz = GPBObjCClass(SecurityLevelMap), + .number = SearchKey_FieldNumber_PurposeMap, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentitiesKeysResponse_PublicKeyEntries__storage_, publicKeyEntriesArray), - .flags = GPBFieldRepeated, + .offset = (uint32_t)offsetof(SearchKey__storage_, purposeMap), + .flags = GPBFieldMapKeyUInt32, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesKeysResponse_PublicKeyEntries class] + [GPBDescriptor allocDescriptorForClass:[SearchKey class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesKeysResponse_PublicKeyEntries__storage_) + storageSize:sizeof(SearchKey__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesKeysResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -1947,20 +1874,16 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsRequest +#pragma mark - SecurityLevelMap -@implementation GetProofsRequest +@implementation SecurityLevelMap -@dynamic identitiesArray, identitiesArray_Count; -@dynamic contractsArray, contractsArray_Count; -@dynamic documentsArray, documentsArray_Count; +@dynamic securityLevelMap, securityLevelMap_Count; -typedef struct GetProofsRequest__storage_ { +typedef struct SecurityLevelMap__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *identitiesArray; - NSMutableArray *contractsArray; - NSMutableArray *documentsArray; -} GetProofsRequest__storage_; + GPBUInt32EnumDictionary *securityLevelMap; +} SecurityLevelMap__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -1969,40 +1892,22 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identitiesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_IdentityRequest), - .number = GetProofsRequest_FieldNumber_IdentitiesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest__storage_, identitiesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - { - .name = "contractsArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_ContractRequest), - .number = GetProofsRequest_FieldNumber_ContractsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest__storage_, contractsArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - { - .name = "documentsArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_DocumentRequest), - .number = GetProofsRequest_FieldNumber_DocumentsArray, + .name = "securityLevelMap", + .dataTypeSpecific.enumDescFunc = SecurityLevelMap_KeyKindRequestType_EnumDescriptor, + .number = SecurityLevelMap_FieldNumber_SecurityLevelMap, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetProofsRequest__storage_, documentsArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, + .offset = (uint32_t)offsetof(SecurityLevelMap__storage_, securityLevelMap), + .flags = (GPBFieldFlags)(GPBFieldMapKeyUInt32 | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest class] + [GPBDescriptor allocDescriptorForClass:[SecurityLevelMap class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest__storage_) + storageSize:sizeof(SecurityLevelMap__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); @@ -2014,21 +1919,53 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsRequest_DocumentRequest +#pragma mark - Enum SecurityLevelMap_KeyKindRequestType + +GPBEnumDescriptor *SecurityLevelMap_KeyKindRequestType_EnumDescriptor(void) { + static _Atomic(GPBEnumDescriptor*) descriptor = nil; + if (!descriptor) { + static const char *valueNames = + "CurrentKeyOfKindRequest\000AllKeysOfKindReq" + "uest\000"; + static const int32_t values[] = { + SecurityLevelMap_KeyKindRequestType_CurrentKeyOfKindRequest, + SecurityLevelMap_KeyKindRequestType_AllKeysOfKindRequest, + }; + GPBEnumDescriptor *worker = + [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SecurityLevelMap_KeyKindRequestType) + valueNames:valueNames + values:values + count:(uint32_t)(sizeof(values) / sizeof(int32_t)) + enumVerifier:SecurityLevelMap_KeyKindRequestType_IsValidValue]; + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { + [worker release]; + } + } + return descriptor; +} + +BOOL SecurityLevelMap_KeyKindRequestType_IsValidValue(int32_t value__) { + switch (value__) { + case SecurityLevelMap_KeyKindRequestType_CurrentKeyOfKindRequest: + case SecurityLevelMap_KeyKindRequestType_AllKeysOfKindRequest: + return YES; + default: + return NO; + } +} -@implementation GetProofsRequest_DocumentRequest +#pragma mark - GetIdentityKeysRequest -@dynamic contractId; -@dynamic documentType; -@dynamic documentTypeKeepsHistory; -@dynamic documentId; +@implementation GetIdentityKeysRequest -typedef struct GetProofsRequest_DocumentRequest__storage_ { - uint32_t _has_storage_[1]; - NSData *contractId; - NSString *documentType; - NSData *documentId; -} GetProofsRequest_DocumentRequest__storage_; +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetIdentityKeysRequest__storage_ { + uint32_t _has_storage_[2]; + GetIdentityKeysRequest_GetIdentityKeysRequestV0 *v0; +} GetIdentityKeysRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2037,51 +1974,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contractId", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_DocumentRequest_FieldNumber_ContractId, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsRequest_DocumentRequest__storage_, contractId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "documentType", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_DocumentRequest_FieldNumber_DocumentType, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProofsRequest_DocumentRequest__storage_, documentType), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, - }, - { - .name = "documentTypeKeepsHistory", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_DocumentRequest_FieldNumber_DocumentTypeKeepsHistory, - .hasIndex = 2, - .offset = 3, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, - }, - { - .name = "documentId", - .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_DocumentRequest_FieldNumber_DocumentId, - .hasIndex = 4, - .offset = (uint32_t)offsetof(GetProofsRequest_DocumentRequest__storage_, documentId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityKeysRequest_GetIdentityKeysRequestV0), + .number = GetIdentityKeysRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityKeysRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_DocumentRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_DocumentRequest__storage_) + storageSize:sizeof(GetIdentityKeysRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2092,18 +2007,28 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsRequest_IdentityRequest +void GetIdentityKeysRequest_ClearVersionOneOfCase(GetIdentityKeysRequest *message) { + GPBDescriptor *descriptor = [GetIdentityKeysRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityKeysRequest_GetIdentityKeysRequestV0 -@implementation GetProofsRequest_IdentityRequest +@implementation GetIdentityKeysRequest_GetIdentityKeysRequestV0 @dynamic identityId; -@dynamic requestType; +@dynamic hasRequestType, requestType; +@dynamic hasLimit, limit; +@dynamic hasOffset, offset; +@dynamic prove; -typedef struct GetProofsRequest_IdentityRequest__storage_ { +typedef struct GetIdentityKeysRequest_GetIdentityKeysRequestV0__storage_ { uint32_t _has_storage_[1]; - GetProofsRequest_IdentityRequest_Type requestType; NSData *identityId; -} GetProofsRequest_IdentityRequest__storage_; + KeyRequestType *requestType; + GPBUInt32Value *limit; + GPBUInt32Value *offset; +} GetIdentityKeysRequest_GetIdentityKeysRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2114,31 +2039,58 @@ + (GPBDescriptor *)descriptor { { .name = "identityId", .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_IdentityRequest_FieldNumber_IdentityId, + .number = GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_IdentityId, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsRequest_IdentityRequest__storage_, identityId), + .offset = (uint32_t)offsetof(GetIdentityKeysRequest_GetIdentityKeysRequestV0__storage_, identityId), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { .name = "requestType", - .dataTypeSpecific.enumDescFunc = GetProofsRequest_IdentityRequest_Type_EnumDescriptor, - .number = GetProofsRequest_IdentityRequest_FieldNumber_RequestType, + .dataTypeSpecific.clazz = GPBObjCClass(KeyRequestType), + .number = GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_RequestType, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProofsRequest_IdentityRequest__storage_, requestType), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeEnum, + .offset = (uint32_t)offsetof(GetIdentityKeysRequest_GetIdentityKeysRequestV0__storage_, requestType), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "limit", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_Limit, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetIdentityKeysRequest_GetIdentityKeysRequestV0__storage_, limit), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "offset", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_Offset, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetIdentityKeysRequest_GetIdentityKeysRequestV0__storage_, offset), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityKeysRequest_GetIdentityKeysRequestV0_FieldNumber_Prove, + .hasIndex = 4, + .offset = 5, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_IdentityRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysRequest_GetIdentityKeysRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_IdentityRequest__storage_) + storageSize:sizeof(GetIdentityKeysRequest_GetIdentityKeysRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityKeysRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2149,65 +2101,1335 @@ + (GPBDescriptor *)descriptor { @end -int32_t GetProofsRequest_IdentityRequest_RequestType_RawValue(GetProofsRequest_IdentityRequest *message) { - GPBDescriptor *descriptor = [GetProofsRequest_IdentityRequest descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_IdentityRequest_FieldNumber_RequestType]; - return GPBGetMessageRawEnumField(message, field); -} +#pragma mark - GetIdentityKeysResponse -void SetGetProofsRequest_IdentityRequest_RequestType_RawValue(GetProofsRequest_IdentityRequest *message, int32_t value) { - GPBDescriptor *descriptor = [GetProofsRequest_IdentityRequest descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_IdentityRequest_FieldNumber_RequestType]; - GPBSetMessageRawEnumField(message, field, value); -} +@implementation GetIdentityKeysResponse -#pragma mark - Enum GetProofsRequest_IdentityRequest_Type +@dynamic versionOneOfCase; +@dynamic v0; -GPBEnumDescriptor *GetProofsRequest_IdentityRequest_Type_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; +typedef struct GetIdentityKeysResponse__storage_ { + uint32_t _has_storage_[2]; + GetIdentityKeysResponse_GetIdentityKeysResponseV0 *v0; +} GetIdentityKeysResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityKeysResponse_GetIdentityKeysResponseV0), + .number = GetIdentityKeysResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityKeysResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityKeysResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetIdentityKeysResponse_ClearVersionOneOfCase(GetIdentityKeysResponse *message) { + GPBDescriptor *descriptor = [GetIdentityKeysResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityKeysResponse_GetIdentityKeysResponseV0 + +@implementation GetIdentityKeysResponse_GetIdentityKeysResponseV0 + +@dynamic resultOneOfCase; +@dynamic keys; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetIdentityKeysResponse_GetIdentityKeysResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys *keys; + Proof *proof; + ResponseMetadata *metadata; +} GetIdentityKeysResponse_GetIdentityKeysResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "keys", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys), + .number = GetIdentityKeysResponse_GetIdentityKeysResponseV0_FieldNumber_Keys, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityKeysResponse_GetIdentityKeysResponseV0__storage_, keys), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetIdentityKeysResponse_GetIdentityKeysResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityKeysResponse_GetIdentityKeysResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetIdentityKeysResponse_GetIdentityKeysResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentityKeysResponse_GetIdentityKeysResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysResponse_GetIdentityKeysResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityKeysResponse_GetIdentityKeysResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityKeysResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetIdentityKeysResponse_GetIdentityKeysResponseV0_ClearResultOneOfCase(GetIdentityKeysResponse_GetIdentityKeysResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentityKeysResponse_GetIdentityKeysResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys + +@implementation GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys + +@dynamic keysBytesArray, keysBytesArray_Count; + +typedef struct GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *keysBytesArray; +} GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "keysBytesArray", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys_FieldNumber_KeysBytesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys__storage_, keysBytesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetIdentityKeysResponse_GetIdentityKeysResponseV0_Keys__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityKeysResponse_GetIdentityKeysResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProofsRequest + +@implementation GetProofsRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetProofsRequest__storage_ { + uint32_t _has_storage_[2]; + GetProofsRequest_GetProofsRequestV0 *v0; +} GetProofsRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0), + .number = GetProofsRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetProofsRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetProofsRequest_ClearVersionOneOfCase(GetProofsRequest *message) { + GPBDescriptor *descriptor = [GetProofsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetProofsRequest_GetProofsRequestV0 + +@implementation GetProofsRequest_GetProofsRequestV0 + +@dynamic identitiesArray, identitiesArray_Count; +@dynamic contractsArray, contractsArray_Count; +@dynamic documentsArray, documentsArray_Count; + +typedef struct GetProofsRequest_GetProofsRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *identitiesArray; + NSMutableArray *contractsArray; + NSMutableArray *documentsArray; +} GetProofsRequest_GetProofsRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "identitiesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_IdentityRequest), + .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_IdentitiesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, identitiesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "contractsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_ContractRequest), + .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_ContractsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, contractsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "documentsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsRequest_GetProofsRequestV0_DocumentRequest), + .number = GetProofsRequest_GetProofsRequestV0_FieldNumber_DocumentsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0__storage_, documentsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProofsRequest_GetProofsRequestV0_DocumentRequest + +@implementation GetProofsRequest_GetProofsRequestV0_DocumentRequest + +@dynamic contractId; +@dynamic documentType; +@dynamic documentTypeKeepsHistory; +@dynamic documentId; + +typedef struct GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_ { + uint32_t _has_storage_[1]; + NSData *contractId; + NSString *documentType; + NSData *documentId; +} GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "contractId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_ContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, contractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "documentType", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentType, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentType), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "documentTypeKeepsHistory", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentTypeKeepsHistory, + .hasIndex = 2, + .offset = 3, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + { + .name = "documentId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_DocumentRequest_FieldNumber_DocumentId, + .hasIndex = 4, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_, documentId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_DocumentRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_DocumentRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProofsRequest_GetProofsRequestV0_IdentityRequest + +@implementation GetProofsRequest_GetProofsRequestV0_IdentityRequest + +@dynamic identityId; +@dynamic requestType; + +typedef struct GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_ { + uint32_t _has_storage_[1]; + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type requestType; + NSData *identityId; +} GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "identityId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_IdentityId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_, identityId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "requestType", + .dataTypeSpecific.enumDescFunc = GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_EnumDescriptor, + .number = GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_, requestType), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeEnum, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_IdentityRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_IdentityRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +int32_t GetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message) { + GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_IdentityRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType]; + return GPBGetMessageRawEnumField(message, field); +} + +void SetGetProofsRequest_GetProofsRequestV0_IdentityRequest_RequestType_RawValue(GetProofsRequest_GetProofsRequestV0_IdentityRequest *message, int32_t value) { + GPBDescriptor *descriptor = [GetProofsRequest_GetProofsRequestV0_IdentityRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetProofsRequest_GetProofsRequestV0_IdentityRequest_FieldNumber_RequestType]; + GPBSetMessageRawEnumField(message, field, value); +} + +#pragma mark - Enum GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type + +GPBEnumDescriptor *GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_EnumDescriptor(void) { + static _Atomic(GPBEnumDescriptor*) descriptor = nil; + if (!descriptor) { + static const char *valueNames = + "FullIdentity\000Balance\000Keys\000"; + static const int32_t values[] = { + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_FullIdentity, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Balance, + GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Keys, + }; + GPBEnumDescriptor *worker = + [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type) + valueNames:valueNames + values:values + count:(uint32_t)(sizeof(values) / sizeof(int32_t)) + enumVerifier:GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_IsValidValue]; + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { + [worker release]; + } + } + return descriptor; +} + +BOOL GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_IsValidValue(int32_t value__) { + switch (value__) { + case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_FullIdentity: + case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Balance: + case GetProofsRequest_GetProofsRequestV0_IdentityRequest_Type_Keys: + return YES; + default: + return NO; + } +} + +#pragma mark - GetProofsRequest_GetProofsRequestV0_ContractRequest + +@implementation GetProofsRequest_GetProofsRequestV0_ContractRequest + +@dynamic contractId; + +typedef struct GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_ { + uint32_t _has_storage_[1]; + NSData *contractId; +} GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "contractId", + .dataTypeSpecific.clazz = Nil, + .number = GetProofsRequest_GetProofsRequestV0_ContractRequest_FieldNumber_ContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_, contractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_GetProofsRequestV0_ContractRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsRequest_GetProofsRequestV0_ContractRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest_GetProofsRequestV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetProofsResponse + +@implementation GetProofsResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetProofsResponse__storage_ { + uint32_t _has_storage_[2]; + GetProofsResponse_GetProofsResponseV0 *v0; +} GetProofsResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetProofsResponse_GetProofsResponseV0), + .number = GetProofsResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetProofsResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetProofsResponse_ClearVersionOneOfCase(GetProofsResponse *message) { + GPBDescriptor *descriptor = [GetProofsResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetProofsResponse_GetProofsResponseV0 + +@implementation GetProofsResponse_GetProofsResponseV0 + +@dynamic hasProof, proof; +@dynamic hasMetadata, metadata; + +typedef struct GetProofsResponse_GetProofsResponseV0__storage_ { + uint32_t _has_storage_[1]; + Proof *proof; + ResponseMetadata *metadata; +} GetProofsResponse_GetProofsResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Proof, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Metadata, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetProofsResponse_GetProofsResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetProofsResponse_GetProofsResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractRequest + +@implementation GetDataContractRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractRequest__storage_ { + uint32_t _has_storage_[2]; + GetDataContractRequest_GetDataContractRequestV0 *v0; +} GetDataContractRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractRequest_GetDataContractRequestV0), + .number = GetDataContractRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractRequest_ClearVersionOneOfCase(GetDataContractRequest *message) { + GPBDescriptor *descriptor = [GetDataContractRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractRequest_GetDataContractRequestV0 + +@implementation GetDataContractRequest_GetDataContractRequestV0 + +@dynamic id_p; +@dynamic prove; + +typedef struct GetDataContractRequest_GetDataContractRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSData *id_p; +} GetDataContractRequest_GetDataContractRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "id_p", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Id_p, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractRequest_GetDataContractRequestV0__storage_, id_p), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractRequest_GetDataContractRequestV0_FieldNumber_Prove, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractRequest_GetDataContractRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractRequest_GetDataContractRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractResponse + +@implementation GetDataContractResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractResponse__storage_ { + uint32_t _has_storage_[2]; + GetDataContractResponse_GetDataContractResponseV0 *v0; +} GetDataContractResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractResponse_GetDataContractResponseV0), + .number = GetDataContractResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractResponse_ClearVersionOneOfCase(GetDataContractResponse *message) { + GPBDescriptor *descriptor = [GetDataContractResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractResponse_GetDataContractResponseV0 + +@implementation GetDataContractResponse_GetDataContractResponseV0 + +@dynamic resultOneOfCase; +@dynamic dataContract; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetDataContractResponse_GetDataContractResponseV0__storage_ { + uint32_t _has_storage_[2]; + NSData *dataContract; + Proof *proof; + ResponseMetadata *metadata; +} GetDataContractResponse_GetDataContractResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContract", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_DataContract, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, dataContract), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetDataContractResponse_GetDataContractResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractResponse_GetDataContractResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractResponse_GetDataContractResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractResponse_GetDataContractResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractResponse_GetDataContractResponseV0_ClearResultOneOfCase(GetDataContractResponse_GetDataContractResponseV0 *message) { + GPBDescriptor *descriptor = [GetDataContractResponse_GetDataContractResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractsRequest + +@implementation GetDataContractsRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractsRequest__storage_ { + uint32_t _has_storage_[2]; + GetDataContractsRequest_GetDataContractsRequestV0 *v0; +} GetDataContractsRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsRequest_GetDataContractsRequestV0), + .number = GetDataContractsRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractsRequest_ClearVersionOneOfCase(GetDataContractsRequest *message) { + GPBDescriptor *descriptor = [GetDataContractsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractsRequest_GetDataContractsRequestV0 + +@implementation GetDataContractsRequest_GetDataContractsRequestV0 + +@dynamic idsArray, idsArray_Count; +@dynamic prove; + +typedef struct GetDataContractsRequest_GetDataContractsRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *idsArray; +} GetDataContractsRequest_GetDataContractsRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "idsArray", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_IdsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDataContractsRequest_GetDataContractsRequestV0__storage_, idsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractsRequest_GetDataContractsRequestV0_FieldNumber_Prove, + .hasIndex = 0, + .offset = 1, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsRequest_GetDataContractsRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsRequest_GetDataContractsRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractsResponse + +@implementation GetDataContractsResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractsResponse__storage_ { + uint32_t _has_storage_[2]; + GetDataContractsResponse_GetDataContractsResponseV0 *v0; +} GetDataContractsResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; if (!descriptor) { - static const char *valueNames = - "FullIdentity\000Balance\000Keys\000"; - static const int32_t values[] = { - GetProofsRequest_IdentityRequest_Type_FullIdentity, - GetProofsRequest_IdentityRequest_Type_Balance, - GetProofsRequest_IdentityRequest_Type_Keys, + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_GetDataContractsResponseV0), + .number = GetDataContractsResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, }; - GPBEnumDescriptor *worker = - [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetProofsRequest_IdentityRequest_Type) - valueNames:valueNames - values:values - count:(uint32_t)(sizeof(values) / sizeof(int32_t)) - enumVerifier:GetProofsRequest_IdentityRequest_Type_IsValidValue]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; - } + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractsResponse_ClearVersionOneOfCase(GetDataContractsResponse *message) { + GPBDescriptor *descriptor = [GetDataContractsResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractsResponse_DataContractEntry + +@implementation GetDataContractsResponse_DataContractEntry + +@dynamic identifier; +@dynamic hasDataContract, dataContract; + +typedef struct GetDataContractsResponse_DataContractEntry__storage_ { + uint32_t _has_storage_[1]; + NSData *identifier; + GPBBytesValue *dataContract; +} GetDataContractsResponse_DataContractEntry__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "identifier", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractsResponse_DataContractEntry_FieldNumber_Identifier, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, identifier), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "dataContract", + .dataTypeSpecific.clazz = GPBObjCClass(GPBBytesValue), + .number = GetDataContractsResponse_DataContractEntry_FieldNumber_DataContract, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, dataContract), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContractEntry class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse_DataContractEntry__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractsResponse_DataContracts + +@implementation GetDataContractsResponse_DataContracts + +@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; + +typedef struct GetDataContractsResponse_DataContracts__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *dataContractEntriesArray; +} GetDataContractsResponse_DataContracts__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContractEntriesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContractEntry), + .number = GetDataContractsResponse_DataContracts_FieldNumber_DataContractEntriesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContracts__storage_, dataContractEntriesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContracts class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse_DataContracts__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDataContractsResponse_GetDataContractsResponseV0 + +@implementation GetDataContractsResponse_GetDataContractsResponseV0 + +@dynamic resultOneOfCase; +@dynamic dataContracts; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetDataContractsResponse_GetDataContractsResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetDataContractsResponse_DataContracts *dataContracts; + Proof *proof; + ResponseMetadata *metadata; +} GetDataContractsResponse_GetDataContractsResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContracts", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContracts), + .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_DataContracts, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, dataContracts), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetDataContractsResponse_GetDataContractsResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractsResponse_GetDataContractsResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_GetDataContractsResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractsResponse_GetDataContractsResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractsResponse_GetDataContractsResponseV0_ClearResultOneOfCase(GetDataContractsResponse_GetDataContractsResponseV0 *message) { + GPBDescriptor *descriptor = [GetDataContractsResponse_GetDataContractsResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryRequest + +@implementation GetDataContractHistoryRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractHistoryRequest__storage_ { + uint32_t _has_storage_[2]; + GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 *v0; +} GetDataContractHistoryRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0), + .number = GetDataContractHistoryRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; } return descriptor; } -BOOL GetProofsRequest_IdentityRequest_Type_IsValidValue(int32_t value__) { - switch (value__) { - case GetProofsRequest_IdentityRequest_Type_FullIdentity: - case GetProofsRequest_IdentityRequest_Type_Balance: - case GetProofsRequest_IdentityRequest_Type_Keys: - return YES; - default: - return NO; - } -} +@end -#pragma mark - GetProofsRequest_ContractRequest +void GetDataContractHistoryRequest_ClearVersionOneOfCase(GetDataContractHistoryRequest *message) { + GPBDescriptor *descriptor = [GetDataContractHistoryRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 -@implementation GetProofsRequest_ContractRequest +@implementation GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 -@dynamic contractId; +@dynamic id_p; +@dynamic hasLimit, limit; +@dynamic hasOffset, offset; +@dynamic startAtMs; +@dynamic prove; -typedef struct GetProofsRequest_ContractRequest__storage_ { +typedef struct GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *contractId; -} GetProofsRequest_ContractRequest__storage_; + NSData *id_p; + GPBUInt32Value *limit; + GPBUInt32Value *offset; + uint64_t startAtMs; +} GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2216,24 +3438,60 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "contractId", + .name = "id_p", .dataTypeSpecific.clazz = Nil, - .number = GetProofsRequest_ContractRequest_FieldNumber_ContractId, + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Id_p, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsRequest_ContractRequest__storage_, contractId), + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, id_p), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, + { + .name = "limit", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Limit, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, limit), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "offset", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Offset, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, offset), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "startAtMs", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_StartAtMs, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_, startAtMs), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDataContractHistoryRequest_GetDataContractHistoryRequestV0_FieldNumber_Prove, + .hasIndex = 4, + .offset = 5, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsRequest_ContractRequest class] + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryRequest_GetDataContractHistoryRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsRequest_ContractRequest__storage_) + storageSize:sizeof(GetDataContractHistoryRequest_GetDataContractHistoryRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsRequest)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2244,18 +3502,78 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetProofsResponse +#pragma mark - GetDataContractHistoryResponse -@implementation GetProofsResponse +@implementation GetDataContractHistoryResponse -@dynamic hasProof, proof; +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDataContractHistoryResponse__storage_ { + uint32_t _has_storage_[2]; + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *v0; +} GetDataContractHistoryResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0), + .number = GetDataContractHistoryResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDataContractHistoryResponse_ClearVersionOneOfCase(GetDataContractHistoryResponse *message) { + GPBDescriptor *descriptor = [GetDataContractHistoryResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 + +@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 + +@dynamic resultOneOfCase; +@dynamic dataContractHistory; +@dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetProofsResponse__storage_ { - uint32_t _has_storage_[1]; +typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory *dataContractHistory; Proof *proof; ResponseMetadata *metadata; -} GetProofsResponse__storage_; +} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2263,33 +3581,49 @@ + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { + { + .name = "dataContractHistory", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_DataContractHistory, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_, dataContractHistory), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetProofsResponse_FieldNumber_Proof, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetProofsResponse__storage_, proof), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetProofsResponse_FieldNumber_Metadata, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetProofsResponse__storage_, metadata), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetProofsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetProofsResponse__storage_) + storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2300,17 +3634,23 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractRequest +void GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_ClearResultOneOfCase(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 *message) { + GPBDescriptor *descriptor = [GetDataContractHistoryResponse_GetDataContractHistoryResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry -@implementation GetDataContractRequest +@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry -@dynamic id_p; -@dynamic prove; +@dynamic date; +@dynamic value; -typedef struct GetDataContractRequest__storage_ { +typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_ { uint32_t _has_storage_[1]; - NSData *id_p; -} GetDataContractRequest__storage_; + NSData *value; + uint64_t date; +} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2319,32 +3659,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "id_p", + .name = "date", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractRequest_FieldNumber_Id_p, + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Date, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractRequest__storage_, id_p), + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_, date), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeUInt64, }, { - .name = "prove", + .name = "value", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractRequest_FieldNumber_Prove, + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry_FieldNumber_Value, .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_, value), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .dataType = GPBDataTypeBytes, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractRequest class] + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractRequest__storage_) + storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2355,21 +3696,133 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractResponse +#pragma mark - GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory -@implementation GetDataContractResponse +@implementation GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory -@dynamic resultOneOfCase; -@dynamic dataContract; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; -typedef struct GetDataContractResponse__storage_ { +typedef struct GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *dataContractEntriesArray; +} GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "dataContractEntriesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistoryEntry), + .number = GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory_FieldNumber_DataContractEntriesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_, dataContractEntriesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0_DataContractHistory__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse_GetDataContractHistoryResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetDocumentsRequest + +@implementation GetDocumentsRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetDocumentsRequest__storage_ { uint32_t _has_storage_[2]; - NSData *dataContract; - Proof *proof; - ResponseMetadata *metadata; -} GetDataContractResponse__storage_; + GetDocumentsRequest_GetDocumentsRequestV0 *v0; +} GetDocumentsRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsRequest_GetDocumentsRequestV0), + .number = GetDocumentsRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetDocumentsRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetDocumentsRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetDocumentsRequest_ClearVersionOneOfCase(GetDocumentsRequest *message) { + GPBDescriptor *descriptor = [GetDocumentsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDocumentsRequest_GetDocumentsRequestV0 + +@implementation GetDocumentsRequest_GetDocumentsRequestV0 + +@dynamic startOneOfCase; +@dynamic dataContractId; +@dynamic documentType; +@dynamic where; +@dynamic orderBy; +@dynamic limit; +@dynamic startAfter; +@dynamic startAt; +@dynamic prove; + +typedef struct GetDocumentsRequest_GetDocumentsRequestV0__storage_ { + uint32_t _has_storage_[2]; + uint32_t limit; + NSData *dataContractId; + NSString *documentType; + NSData *where; + NSData *orderBy; + NSData *startAfter; + NSData *startAt; +} GetDocumentsRequest_GetDocumentsRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2378,47 +3831,93 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContract", + .name = "dataContractId", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DataContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, dataContractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "documentType", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_DocumentType, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, documentType), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeString, + }, + { + .name = "where", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Where, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, where), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "orderBy", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_OrderBy, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, orderBy), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "limit", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractResponse_FieldNumber_DataContract, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Limit, + .hasIndex = 4, + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, limit), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "startAfter", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAfter, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractResponse__storage_, dataContract), + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, startAfter), .flags = GPBFieldOptional, .dataType = GPBDataTypeBytes, }, { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetDataContractResponse_FieldNumber_Proof, + .name = "startAt", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_StartAt, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractResponse__storage_, proof), + .offset = (uint32_t)offsetof(GetDocumentsRequest_GetDocumentsRequestV0__storage_, startAt), .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeBytes, }, { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetDataContractResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractResponse__storage_, metadata), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetDocumentsRequest_GetDocumentsRequestV0_FieldNumber_Prove, + .hasIndex = 5, + .offset = 6, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractResponse class] + [GPBDescriptor allocDescriptorForClass:[GetDocumentsRequest_GetDocumentsRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractResponse__storage_) + storageSize:sizeof(GetDocumentsRequest_GetDocumentsRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "start", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2429,22 +3928,22 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractResponse_ClearResultOneOfCase(GetDataContractResponse *message) { - GPBDescriptor *descriptor = [GetDataContractResponse descriptor]; +void GetDocumentsRequest_GetDocumentsRequestV0_ClearStartOneOfCase(GetDocumentsRequest_GetDocumentsRequestV0 *message) { + GPBDescriptor *descriptor = [GetDocumentsRequest_GetDocumentsRequestV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractsRequest +#pragma mark - GetDocumentsResponse -@implementation GetDataContractsRequest +@implementation GetDocumentsResponse -@dynamic idsArray, idsArray_Count; -@dynamic prove; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetDataContractsRequest__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *idsArray; -} GetDataContractsRequest__storage_; +typedef struct GetDocumentsResponse__storage_ { + uint32_t _has_storage_[2]; + GetDocumentsResponse_GetDocumentsResponseV0 *v0; +} GetDocumentsResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2453,32 +3952,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "idsArray", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractsRequest_FieldNumber_IdsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDataContractsRequest__storage_, idsArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, - }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractsRequest_FieldNumber_Prove, - .hasIndex = 0, - .offset = 1, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0), + .number = GetDocumentsResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetDocumentsResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsRequest__storage_) + storageSize:sizeof(GetDocumentsResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2489,21 +3985,26 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractsResponse +void GetDocumentsResponse_ClearVersionOneOfCase(GetDocumentsResponse *message) { + GPBDescriptor *descriptor = [GetDocumentsResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0 -@implementation GetDataContractsResponse +@implementation GetDocumentsResponse_GetDocumentsResponseV0 @dynamic resultOneOfCase; -@dynamic dataContracts; +@dynamic documents; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetDataContractsResponse__storage_ { +typedef struct GetDocumentsResponse_GetDocumentsResponseV0__storage_ { uint32_t _has_storage_[2]; - GetDataContractsResponse_DataContracts *dataContracts; + GetDocumentsResponse_GetDocumentsResponseV0_Documents *documents; Proof *proof; ResponseMetadata *metadata; -} GetDataContractsResponse__storage_; +} GetDocumentsResponse_GetDocumentsResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2512,40 +4013,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContracts", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContracts), - .number = GetDataContractsResponse_FieldNumber_DataContracts, + .name = "documents", + .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0_Documents), + .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Documents, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractsResponse__storage_, dataContracts), + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, documents), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetDataContractsResponse_FieldNumber_Proof, + .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractsResponse__storage_, proof), + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetDataContractsResponse_FieldNumber_Metadata, + .number = GetDocumentsResponse_GetDocumentsResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractsResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse_GetDocumentsResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse__storage_) + storageSize:sizeof(GetDocumentsResponse_GetDocumentsResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -2553,6 +4054,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2563,21 +4065,21 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractsResponse_ClearResultOneOfCase(GetDataContractsResponse *message) { - GPBDescriptor *descriptor = [GetDataContractsResponse descriptor]; +void GetDocumentsResponse_GetDocumentsResponseV0_ClearResultOneOfCase(GetDocumentsResponse_GetDocumentsResponseV0 *message) { + GPBDescriptor *descriptor = [GetDocumentsResponse_GetDocumentsResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractsResponse_DataContractValue +#pragma mark - GetDocumentsResponse_GetDocumentsResponseV0_Documents -@implementation GetDataContractsResponse_DataContractValue +@implementation GetDocumentsResponse_GetDocumentsResponseV0_Documents -@dynamic value; +@dynamic documentsArray, documentsArray_Count; -typedef struct GetDataContractsResponse_DataContractValue__storage_ { +typedef struct GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_ { uint32_t _has_storage_[1]; - NSData *value; -} GetDataContractsResponse_DataContractValue__storage_; + NSMutableArray *documentsArray; +} GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2586,24 +4088,24 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "value", + .name = "documentsArray", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractsResponse_DataContractValue_FieldNumber_Value, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractValue__storage_, value), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .number = GetDocumentsResponse_GetDocumentsResponseV0_Documents_FieldNumber_DocumentsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_, documentsArray), + .flags = GPBFieldRepeated, .dataType = GPBDataTypeBytes, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContractValue class] + [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse_GetDocumentsResponseV0_Documents class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse_DataContractValue__storage_) + storageSize:sizeof(GetDocumentsResponse_GetDocumentsResponseV0_Documents__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsResponse_GetDocumentsResponseV0)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2614,18 +4116,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractsResponse_DataContractEntry +#pragma mark - GetIdentitiesByPublicKeyHashesRequest -@implementation GetDataContractsResponse_DataContractEntry +@implementation GetIdentitiesByPublicKeyHashesRequest -@dynamic key; -@dynamic hasValue, value; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetDataContractsResponse_DataContractEntry__storage_ { - uint32_t _has_storage_[1]; - NSData *key; - GetDataContractsResponse_DataContractValue *value; -} GetDataContractsResponse_DataContractEntry__storage_; +typedef struct GetIdentitiesByPublicKeyHashesRequest__storage_ { + uint32_t _has_storage_[2]; + GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0 *v0; +} GetIdentitiesByPublicKeyHashesRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2634,79 +4135,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "key", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractsResponse_DataContractEntry_FieldNumber_Key, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, key), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "value", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContractValue), - .number = GetDataContractsResponse_DataContractEntry_FieldNumber_Value, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContractEntry__storage_, value), + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0), + .number = GetIdentitiesByPublicKeyHashesRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContractEntry class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse_DataContractEntry__storage_) + storageSize:sizeof(GetIdentitiesByPublicKeyHashesRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -#pragma mark - GetDataContractsResponse_DataContracts - -@implementation GetDataContractsResponse_DataContracts - -@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; - -typedef struct GetDataContractsResponse_DataContracts__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *dataContractEntriesArray; -} GetDataContractsResponse_DataContracts__storage_; - -// This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "dataContractEntriesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractsResponse_DataContractEntry), - .number = GetDataContractsResponse_DataContracts_FieldNumber_DataContractEntriesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDataContractsResponse_DataContracts__storage_, dataContractEntriesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, + static const char *oneofs[] = { + "version", }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractsResponse_DataContracts class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractsResponse_DataContracts__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractsResponse)]; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2717,84 +4168,57 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractHistoryRequest +void GetIdentitiesByPublicKeyHashesRequest_ClearVersionOneOfCase(GetIdentitiesByPublicKeyHashesRequest *message) { + GPBDescriptor *descriptor = [GetIdentitiesByPublicKeyHashesRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0 -@implementation GetDataContractHistoryRequest +@implementation GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0 -@dynamic id_p; -@dynamic hasLimit, limit; -@dynamic hasOffset, offset; -@dynamic startAtMs; +@dynamic publicKeyHashesArray, publicKeyHashesArray_Count; @dynamic prove; -typedef struct GetDataContractHistoryRequest__storage_ { +typedef struct GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *id_p; - GPBUInt32Value *limit; - GPBUInt32Value *offset; - uint64_t startAtMs; -} GetDataContractHistoryRequest__storage_; + NSMutableArray *publicKeyHashesArray; +} GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0__storage_; // This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "id_p", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryRequest_FieldNumber_Id_p, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest__storage_, id_p), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "limit", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetDataContractHistoryRequest_FieldNumber_Limit, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest__storage_, limit), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "offset", - .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), - .number = GetDataContractHistoryRequest_FieldNumber_Offset, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest__storage_, offset), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { { - .name = "startAtMs", + .name = "publicKeyHashesArray", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryRequest_FieldNumber_StartAtMs, - .hasIndex = 3, - .offset = (uint32_t)offsetof(GetDataContractHistoryRequest__storage_, startAtMs), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt64, + .number = GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0_FieldNumber_PublicKeyHashesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0__storage_, publicKeyHashesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeBytes, }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryRequest_FieldNumber_Prove, - .hasIndex = 4, - .offset = 5, // Stored in _has_storage_ to save space. + .number = GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0_FieldNumber_Prove, + .hasIndex = 0, + .offset = 1, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBool, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryRequest__storage_) + storageSize:sizeof(GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesByPublicKeyHashesRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2805,21 +4229,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractHistoryResponse +#pragma mark - GetIdentitiesByPublicKeyHashesResponse -@implementation GetDataContractHistoryResponse +@implementation GetIdentitiesByPublicKeyHashesResponse -@dynamic resultOneOfCase; -@dynamic dataContractHistory; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetDataContractHistoryResponse__storage_ { +typedef struct GetIdentitiesByPublicKeyHashesResponse__storage_ { uint32_t _has_storage_[2]; - GetDataContractHistoryResponse_DataContractHistory *dataContractHistory; - Proof *proof; - ResponseMetadata *metadata; -} GetDataContractHistoryResponse__storage_; + GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 *v0; +} GetIdentitiesByPublicKeyHashesResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2828,43 +4248,25 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContractHistory", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_DataContractHistory), - .number = GetDataContractHistoryResponse_FieldNumber_DataContractHistory, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse__storage_, dataContractHistory), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetDataContractHistoryResponse_FieldNumber_Proof, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0), + .number = GetIdentitiesByPublicKeyHashesResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetDataContractHistoryResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryResponse__storage_) + storageSize:sizeof(GetIdentitiesByPublicKeyHashesResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -2879,23 +4281,23 @@ + (GPBDescriptor *)descriptor { @end -void GetDataContractHistoryResponse_ClearResultOneOfCase(GetDataContractHistoryResponse *message) { - GPBDescriptor *descriptor = [GetDataContractHistoryResponse descriptor]; +void GetIdentitiesByPublicKeyHashesResponse_ClearVersionOneOfCase(GetIdentitiesByPublicKeyHashesResponse *message) { + GPBDescriptor *descriptor = [GetIdentitiesByPublicKeyHashesResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDataContractHistoryResponse_DataContractHistoryEntry +#pragma mark - GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry -@implementation GetDataContractHistoryResponse_DataContractHistoryEntry +@implementation GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry -@dynamic date; -@dynamic value; +@dynamic publicKeyHash; +@dynamic hasValue, value; -typedef struct GetDataContractHistoryResponse_DataContractHistoryEntry__storage_ { +typedef struct GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry__storage_ { uint32_t _has_storage_[1]; - NSData *value; - uint64_t date; -} GetDataContractHistoryResponse_DataContractHistoryEntry__storage_; + NSData *publicKeyHash; + GPBBytesValue *value; +} GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2904,33 +4306,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "date", + .name = "publicKeyHash", .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryResponse_DataContractHistoryEntry_FieldNumber_Date, + .number = GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry_FieldNumber_PublicKeyHash, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_DataContractHistoryEntry__storage_, date), + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry__storage_, publicKeyHash), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt64, + .dataType = GPBDataTypeBytes, }, { .name = "value", - .dataTypeSpecific.clazz = Nil, - .number = GetDataContractHistoryResponse_DataContractHistoryEntry_FieldNumber_Value, + .dataTypeSpecific.clazz = GPBObjCClass(GPBBytesValue), + .number = GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry_FieldNumber_Value, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_DataContractHistoryEntry__storage_, value), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry__storage_, value), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_DataContractHistoryEntry class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryResponse_DataContractHistoryEntry__storage_) + storageSize:sizeof(GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2941,16 +4343,16 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDataContractHistoryResponse_DataContractHistory +#pragma mark - GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes -@implementation GetDataContractHistoryResponse_DataContractHistory +@implementation GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes -@dynamic dataContractEntriesArray, dataContractEntriesArray_Count; +@dynamic identityEntriesArray, identityEntriesArray_Count; -typedef struct GetDataContractHistoryResponse_DataContractHistory__storage_ { +typedef struct GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *dataContractEntriesArray; -} GetDataContractHistoryResponse_DataContractHistory__storage_; + NSMutableArray *identityEntriesArray; +} GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -2959,24 +4361,24 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContractEntriesArray", - .dataTypeSpecific.clazz = GPBObjCClass(GetDataContractHistoryResponse_DataContractHistoryEntry), - .number = GetDataContractHistoryResponse_DataContractHistory_FieldNumber_DataContractEntriesArray, + .name = "identityEntriesArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse_PublicKeyHashIdentityEntry), + .number = GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes_FieldNumber_IdentityEntriesArray, .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDataContractHistoryResponse_DataContractHistory__storage_, dataContractEntriesArray), + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes__storage_, identityEntriesArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDataContractHistoryResponse_DataContractHistory class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDataContractHistoryResponse_DataContractHistory__storage_) + storageSize:sizeof(GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDataContractHistoryResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -2987,30 +4389,21 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetDocumentsRequest +#pragma mark - GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 -@implementation GetDocumentsRequest +@implementation GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 -@dynamic startOneOfCase; -@dynamic dataContractId; -@dynamic documentType; -@dynamic where; -@dynamic orderBy; -@dynamic limit; -@dynamic startAfter; -@dynamic startAt; -@dynamic prove; +@dynamic resultOneOfCase; +@dynamic identities; +@dynamic proof; +@dynamic hasMetadata, metadata; -typedef struct GetDocumentsRequest__storage_ { +typedef struct GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0__storage_ { uint32_t _has_storage_[2]; - uint32_t limit; - NSData *dataContractId; - NSString *documentType; - NSData *where; - NSData *orderBy; - NSData *startAfter; - NSData *startAt; -} GetDocumentsRequest__storage_; + GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes *identities; + Proof *proof; + ResponseMetadata *metadata; +} GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3019,92 +4412,48 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "dataContractId", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_DataContractId, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, dataContractId), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "documentType", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_DocumentType, - .hasIndex = 1, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, documentType), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeString, - }, - { - .name = "where", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_Where, - .hasIndex = 2, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, where), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "orderBy", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_OrderBy, - .hasIndex = 3, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, orderBy), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, - }, - { - .name = "limit", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_Limit, - .hasIndex = 4, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, limit), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeUInt32, - }, - { - .name = "startAfter", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_StartAfter, + .name = "identities", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes), + .number = GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_FieldNumber_Identities, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, startAfter), + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0__storage_, identities), .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeMessage, }, { - .name = "startAt", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_StartAt, + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsRequest__storage_, startAt), + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0__storage_, proof), .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeMessage, }, { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsRequest_FieldNumber_Prove, - .hasIndex = 5, - .offset = 6, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDocumentsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsRequest__storage_) + storageSize:sizeof(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "start", + "result", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3115,26 +4464,22 @@ + (GPBDescriptor *)descriptor { @end -void GetDocumentsRequest_ClearStartOneOfCase(GetDocumentsRequest *message) { - GPBDescriptor *descriptor = [GetDocumentsRequest descriptor]; +void GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0_ClearResultOneOfCase(GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDocumentsResponse +#pragma mark - GetIdentityByPublicKeyHashRequest -@implementation GetDocumentsResponse +@implementation GetIdentityByPublicKeyHashRequest -@dynamic resultOneOfCase; -@dynamic documents; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetDocumentsResponse__storage_ { +typedef struct GetIdentityByPublicKeyHashRequest__storage_ { uint32_t _has_storage_[2]; - GetDocumentsResponse_Documents *documents; - Proof *proof; - ResponseMetadata *metadata; -} GetDocumentsResponse__storage_; + GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 *v0; +} GetIdentityByPublicKeyHashRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3143,43 +4488,25 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "documents", - .dataTypeSpecific.clazz = GPBObjCClass(GetDocumentsResponse_Documents), - .number = GetDocumentsResponse_FieldNumber_Documents, - .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsResponse__storage_, documents), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetDocumentsResponse_FieldNumber_Proof, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0), + .number = GetIdentityByPublicKeyHashRequest_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetDocumentsResponse__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetDocumentsResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetDocumentsResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashRequest__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsResponse__storage_) + storageSize:sizeof(GetIdentityByPublicKeyHashRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -3194,21 +4521,22 @@ + (GPBDescriptor *)descriptor { @end -void GetDocumentsResponse_ClearResultOneOfCase(GetDocumentsResponse *message) { - GPBDescriptor *descriptor = [GetDocumentsResponse descriptor]; +void GetIdentityByPublicKeyHashRequest_ClearVersionOneOfCase(GetIdentityByPublicKeyHashRequest *message) { + GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashRequest descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetDocumentsResponse_Documents +#pragma mark - GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 -@implementation GetDocumentsResponse_Documents +@implementation GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 -@dynamic documentsArray, documentsArray_Count; +@dynamic publicKeyHash; +@dynamic prove; -typedef struct GetDocumentsResponse_Documents__storage_ { +typedef struct GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_ { uint32_t _has_storage_[1]; - NSMutableArray *documentsArray; -} GetDocumentsResponse_Documents__storage_; + NSData *publicKeyHash; +} GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3217,24 +4545,33 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "documentsArray", + .name = "publicKeyHash", .dataTypeSpecific.clazz = Nil, - .number = GetDocumentsResponse_Documents_FieldNumber_DocumentsArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetDocumentsResponse_Documents__storage_, documentsArray), - .flags = GPBFieldRepeated, + .number = GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_PublicKeyHash, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_, publicKeyHash), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0_FieldNumber_Prove, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetDocumentsResponse_Documents class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetDocumentsResponse_Documents__storage_) + storageSize:sizeof(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetDocumentsResponse)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByPublicKeyHashRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3245,17 +4582,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesByPublicKeyHashesRequest +#pragma mark - GetIdentityByPublicKeyHashResponse -@implementation GetIdentitiesByPublicKeyHashesRequest +@implementation GetIdentityByPublicKeyHashResponse -@dynamic publicKeyHashesArray, publicKeyHashesArray_Count; -@dynamic prove; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentitiesByPublicKeyHashesRequest__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *publicKeyHashesArray; -} GetIdentitiesByPublicKeyHashesRequest__storage_; +typedef struct GetIdentityByPublicKeyHashResponse__storage_ { + uint32_t _has_storage_[2]; + GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *v0; +} GetIdentityByPublicKeyHashResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3264,32 +4601,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "publicKeyHashesArray", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesByPublicKeyHashesRequest_FieldNumber_PublicKeyHashesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesRequest__storage_, publicKeyHashesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, - }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesByPublicKeyHashesRequest_FieldNumber_Prove, - .hasIndex = 0, - .offset = 1, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0), + .number = GetIdentityByPublicKeyHashResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesRequest class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesByPublicKeyHashesRequest__storage_) + storageSize:sizeof(GetIdentityByPublicKeyHashResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3300,21 +4634,26 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentitiesByPublicKeyHashesResponse +void GetIdentityByPublicKeyHashResponse_ClearVersionOneOfCase(GetIdentityByPublicKeyHashResponse *message) { + GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 -@implementation GetIdentitiesByPublicKeyHashesResponse +@implementation GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 @dynamic resultOneOfCase; -@dynamic identities; +@dynamic identity; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetIdentitiesByPublicKeyHashesResponse__storage_ { +typedef struct GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_ { uint32_t _has_storage_[2]; - GetIdentitiesByPublicKeyHashesResponse_Identities *identities; + NSData *identity; Proof *proof; ResponseMetadata *metadata; -} GetIdentitiesByPublicKeyHashesResponse__storage_; +} GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3323,40 +4662,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identities", - .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse_Identities), - .number = GetIdentitiesByPublicKeyHashesResponse_FieldNumber_Identities, + .name = "identity", + .dataTypeSpecific.clazz = Nil, + .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Identity, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse__storage_, identities), + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, identity), .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, + .dataType = GPBDataTypeBytes, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentitiesByPublicKeyHashesResponse_FieldNumber_Proof, + .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse__storage_, proof), + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentitiesByPublicKeyHashesResponse_FieldNumber_Metadata, + .number = GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesResponse class] + [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesByPublicKeyHashesResponse__storage_) + storageSize:sizeof(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -3364,6 +4703,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByPublicKeyHashResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3374,21 +4714,22 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentitiesByPublicKeyHashesResponse_ClearResultOneOfCase(GetIdentitiesByPublicKeyHashesResponse *message) { - GPBDescriptor *descriptor = [GetIdentitiesByPublicKeyHashesResponse descriptor]; +void GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_ClearResultOneOfCase(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *message) { + GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - GetIdentitiesByPublicKeyHashesResponse_Identities +#pragma mark - WaitForStateTransitionResultRequest -@implementation GetIdentitiesByPublicKeyHashesResponse_Identities +@implementation WaitForStateTransitionResultRequest -@dynamic identitiesArray, identitiesArray_Count; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct GetIdentitiesByPublicKeyHashesResponse_Identities__storage_ { - uint32_t _has_storage_[1]; - NSMutableArray *identitiesArray; -} GetIdentitiesByPublicKeyHashesResponse_Identities__storage_; +typedef struct WaitForStateTransitionResultRequest__storage_ { + uint32_t _has_storage_[2]; + WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 *v0; +} WaitForStateTransitionResultRequest__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3397,24 +4738,29 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identitiesArray", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentitiesByPublicKeyHashesResponse_Identities_FieldNumber_IdentitiesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(GetIdentitiesByPublicKeyHashesResponse_Identities__storage_, identitiesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeBytes, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0), + .number = WaitForStateTransitionResultRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentitiesByPublicKeyHashesResponse_Identities class] + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentitiesByPublicKeyHashesResponse_Identities__storage_) + storageSize:sizeof(WaitForStateTransitionResultRequest__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesByPublicKeyHashesResponse)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3425,17 +4771,22 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentityByPublicKeyHashesRequest +void WaitForStateTransitionResultRequest_ClearVersionOneOfCase(WaitForStateTransitionResultRequest *message) { + GPBDescriptor *descriptor = [WaitForStateTransitionResultRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 -@implementation GetIdentityByPublicKeyHashesRequest +@implementation WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 -@dynamic publicKeyHash; +@dynamic stateTransitionHash; @dynamic prove; -typedef struct GetIdentityByPublicKeyHashesRequest__storage_ { +typedef struct WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *publicKeyHash; -} GetIdentityByPublicKeyHashesRequest__storage_; + NSData *stateTransitionHash; +} WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3444,18 +4795,18 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "publicKeyHash", + .name = "stateTransitionHash", .dataTypeSpecific.clazz = Nil, - .number = GetIdentityByPublicKeyHashesRequest_FieldNumber_PublicKeyHash, + .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_StateTransitionHash, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashesRequest__storage_, publicKeyHash), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_, stateTransitionHash), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeBytes, }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = GetIdentityByPublicKeyHashesRequest_FieldNumber_Prove, + .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_Prove, .hasIndex = 1, .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), @@ -3463,13 +4814,66 @@ + (GPBDescriptor *)descriptor { }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashesRequest class] + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - WaitForStateTransitionResultResponse + +@implementation WaitForStateTransitionResultResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct WaitForStateTransitionResultResponse__storage_ { + uint32_t _has_storage_[2]; + WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *v0; +} WaitForStateTransitionResultResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0), + .number = WaitForStateTransitionResultResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityByPublicKeyHashesRequest__storage_) + storageSize:sizeof(WaitForStateTransitionResultResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3480,21 +4884,26 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetIdentityByPublicKeyHashesResponse +void WaitForStateTransitionResultResponse_ClearVersionOneOfCase(WaitForStateTransitionResultResponse *message) { + GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 -@implementation GetIdentityByPublicKeyHashesResponse +@implementation WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 @dynamic resultOneOfCase; -@dynamic identity; +@dynamic error; @dynamic proof; @dynamic hasMetadata, metadata; -typedef struct GetIdentityByPublicKeyHashesResponse__storage_ { +typedef struct WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_ { uint32_t _has_storage_[2]; - NSData *identity; + StateTransitionBroadcastError *error; Proof *proof; ResponseMetadata *metadata; -} GetIdentityByPublicKeyHashesResponse__storage_; +} WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3503,40 +4912,40 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "identity", - .dataTypeSpecific.clazz = Nil, - .number = GetIdentityByPublicKeyHashesResponse_FieldNumber_Identity, + .name = "error", + .dataTypeSpecific.clazz = GPBObjCClass(StateTransitionBroadcastError), + .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Error, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashesResponse__storage_, identity), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, error), .flags = GPBFieldOptional, - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeMessage, }, { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = GetIdentityByPublicKeyHashesResponse_FieldNumber_Proof, + .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Proof, .hasIndex = -1, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashesResponse__storage_, proof), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = GetIdentityByPublicKeyHashesResponse_FieldNumber_Metadata, + .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Metadata, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetIdentityByPublicKeyHashesResponse__storage_, metadata), + .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetIdentityByPublicKeyHashesResponse class] + [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetIdentityByPublicKeyHashesResponse__storage_) + storageSize:sizeof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { "result", @@ -3544,6 +4953,7 @@ + (GPBDescriptor *)descriptor { [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3554,22 +4964,79 @@ + (GPBDescriptor *)descriptor { @end -void GetIdentityByPublicKeyHashesResponse_ClearResultOneOfCase(GetIdentityByPublicKeyHashesResponse *message) { - GPBDescriptor *descriptor = [GetIdentityByPublicKeyHashesResponse descriptor]; +void WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_ClearResultOneOfCase(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *message) { + GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - WaitForStateTransitionResultRequest +#pragma mark - GetConsensusParamsRequest -@implementation WaitForStateTransitionResultRequest +@implementation GetConsensusParamsRequest -@dynamic stateTransitionHash; +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetConsensusParamsRequest__storage_ { + uint32_t _has_storage_[2]; + GetConsensusParamsRequest_GetConsensusParamsRequestV0 *v0; +} GetConsensusParamsRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsRequest_GetConsensusParamsRequestV0), + .number = GetConsensusParamsRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetConsensusParamsRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetConsensusParamsRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetConsensusParamsRequest_ClearVersionOneOfCase(GetConsensusParamsRequest *message) { + GPBDescriptor *descriptor = [GetConsensusParamsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetConsensusParamsRequest_GetConsensusParamsRequestV0 + +@implementation GetConsensusParamsRequest_GetConsensusParamsRequestV0 + +@dynamic height; @dynamic prove; -typedef struct WaitForStateTransitionResultRequest__storage_ { +typedef struct GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_ { uint32_t _has_storage_[1]; - NSData *stateTransitionHash; -} WaitForStateTransitionResultRequest__storage_; + int32_t height; +} GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3578,18 +5045,18 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "stateTransitionHash", + .name = "height", .dataTypeSpecific.clazz = Nil, - .number = WaitForStateTransitionResultRequest_FieldNumber_StateTransitionHash, + .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Height, .hasIndex = 0, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest__storage_, stateTransitionHash), + .offset = (uint32_t)offsetof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_, height), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBytes, + .dataType = GPBDataTypeInt32, }, { .name = "prove", .dataTypeSpecific.clazz = Nil, - .number = WaitForStateTransitionResultRequest_FieldNumber_Prove, + .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Prove, .hasIndex = 1, .offset = 2, // Stored in _has_storage_ to save space. .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), @@ -3597,13 +5064,14 @@ + (GPBDescriptor *)descriptor { }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest_GetConsensusParamsRequestV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(WaitForStateTransitionResultRequest__storage_) + storageSize:sizeof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsRequest)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3614,21 +5082,17 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - WaitForStateTransitionResultResponse +#pragma mark - GetConsensusParamsResponse -@implementation WaitForStateTransitionResultResponse +@implementation GetConsensusParamsResponse -@dynamic resultOneOfCase; -@dynamic error; -@dynamic proof; -@dynamic hasMetadata, metadata; +@dynamic versionOneOfCase; +@dynamic v0; -typedef struct WaitForStateTransitionResultResponse__storage_ { +typedef struct GetConsensusParamsResponse__storage_ { uint32_t _has_storage_[2]; - StateTransitionBroadcastError *error; - Proof *proof; - ResponseMetadata *metadata; -} WaitForStateTransitionResultResponse__storage_; + GetConsensusParamsResponse_GetConsensusParamsResponseV0 *v0; +} GetConsensusParamsResponse__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3637,43 +5101,25 @@ + (GPBDescriptor *)descriptor { if (!descriptor) { static GPBMessageFieldDescription fields[] = { { - .name = "error", - .dataTypeSpecific.clazz = GPBObjCClass(StateTransitionBroadcastError), - .number = WaitForStateTransitionResultResponse_FieldNumber_Error, - .hasIndex = -1, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse__storage_, error), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "proof", - .dataTypeSpecific.clazz = GPBObjCClass(Proof), - .number = WaitForStateTransitionResultResponse_FieldNumber_Proof, + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_GetConsensusParamsResponseV0), + .number = GetConsensusParamsResponse_FieldNumber_V0, .hasIndex = -1, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse__storage_, proof), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "metadata", - .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), - .number = WaitForStateTransitionResultResponse_FieldNumber_Metadata, - .hasIndex = 0, - .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse__storage_, metadata), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse__storage_, v0), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(WaitForStateTransitionResultResponse__storage_) + storageSize:sizeof(GetConsensusParamsResponse__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; static const char *oneofs[] = { - "result", + "version", }; [localDescriptor setupOneofs:oneofs count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) @@ -3688,25 +5134,25 @@ + (GPBDescriptor *)descriptor { @end -void WaitForStateTransitionResultResponse_ClearResultOneOfCase(WaitForStateTransitionResultResponse *message) { - GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse descriptor]; +void GetConsensusParamsResponse_ClearVersionOneOfCase(GetConsensusParamsResponse *message) { + GPBDescriptor *descriptor = [GetConsensusParamsResponse descriptor]; GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } -#pragma mark - ConsensusParamsBlock +#pragma mark - GetConsensusParamsResponse_ConsensusParamsBlock -@implementation ConsensusParamsBlock +@implementation GetConsensusParamsResponse_ConsensusParamsBlock @dynamic maxBytes; @dynamic maxGas; @dynamic timeIotaMs; -typedef struct ConsensusParamsBlock__storage_ { +typedef struct GetConsensusParamsResponse_ConsensusParamsBlock__storage_ { uint32_t _has_storage_[1]; NSString *maxBytes; NSString *maxGas; NSString *timeIotaMs; -} ConsensusParamsBlock__storage_; +} GetConsensusParamsResponse_ConsensusParamsBlock__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3717,39 +5163,40 @@ + (GPBDescriptor *)descriptor { { .name = "maxBytes", .dataTypeSpecific.clazz = Nil, - .number = ConsensusParamsBlock_FieldNumber_MaxBytes, + .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxBytes, .hasIndex = 0, - .offset = (uint32_t)offsetof(ConsensusParamsBlock__storage_, maxBytes), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxBytes), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { .name = "maxGas", .dataTypeSpecific.clazz = Nil, - .number = ConsensusParamsBlock_FieldNumber_MaxGas, + .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxGas, .hasIndex = 1, - .offset = (uint32_t)offsetof(ConsensusParamsBlock__storage_, maxGas), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxGas), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { .name = "timeIotaMs", .dataTypeSpecific.clazz = Nil, - .number = ConsensusParamsBlock_FieldNumber_TimeIotaMs, + .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_TimeIotaMs, .hasIndex = 2, - .offset = (uint32_t)offsetof(ConsensusParamsBlock__storage_, timeIotaMs), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, timeIotaMs), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[ConsensusParamsBlock class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsBlock class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(ConsensusParamsBlock__storage_) + storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3760,20 +5207,20 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - ConsensusParamsEvidence +#pragma mark - GetConsensusParamsResponse_ConsensusParamsEvidence -@implementation ConsensusParamsEvidence +@implementation GetConsensusParamsResponse_ConsensusParamsEvidence @dynamic maxAgeNumBlocks; @dynamic maxAgeDuration; @dynamic maxBytes; -typedef struct ConsensusParamsEvidence__storage_ { +typedef struct GetConsensusParamsResponse_ConsensusParamsEvidence__storage_ { uint32_t _has_storage_[1]; NSString *maxAgeNumBlocks; NSString *maxAgeDuration; NSString *maxBytes; -} ConsensusParamsEvidence__storage_; +} GetConsensusParamsResponse_ConsensusParamsEvidence__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3784,94 +5231,40 @@ + (GPBDescriptor *)descriptor { { .name = "maxAgeNumBlocks", .dataTypeSpecific.clazz = Nil, - .number = ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks, + .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks, .hasIndex = 0, - .offset = (uint32_t)offsetof(ConsensusParamsEvidence__storage_, maxAgeNumBlocks), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeNumBlocks), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { .name = "maxAgeDuration", .dataTypeSpecific.clazz = Nil, - .number = ConsensusParamsEvidence_FieldNumber_MaxAgeDuration, + .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeDuration, .hasIndex = 1, - .offset = (uint32_t)offsetof(ConsensusParamsEvidence__storage_, maxAgeDuration), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeDuration), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, { .name = "maxBytes", .dataTypeSpecific.clazz = Nil, - .number = ConsensusParamsEvidence_FieldNumber_MaxBytes, + .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxBytes, .hasIndex = 2, - .offset = (uint32_t)offsetof(ConsensusParamsEvidence__storage_, maxBytes), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxBytes), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[ConsensusParamsEvidence class] - rootClass:[PlatformRoot class] - file:PlatformRoot_FileDescriptor() - fields:fields - fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(ConsensusParamsEvidence__storage_) - flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; - #if defined(DEBUG) && DEBUG - NSAssert(descriptor == nil, @"Startup recursed!"); - #endif // DEBUG - descriptor = localDescriptor; - } - return descriptor; -} - -@end - -#pragma mark - GetConsensusParamsRequest - -@implementation GetConsensusParamsRequest - -@dynamic height; -@dynamic prove; - -typedef struct GetConsensusParamsRequest__storage_ { - uint32_t _has_storage_[1]; - int64_t height; -} GetConsensusParamsRequest__storage_; - -// This method is threadsafe because it is initially called -// in +initialize for each subclass. -+ (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "height", - .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsRequest_FieldNumber_Height, - .hasIndex = 0, - .offset = (uint32_t)offsetof(GetConsensusParamsRequest__storage_, height), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeInt64, - }, - { - .name = "prove", - .dataTypeSpecific.clazz = Nil, - .number = GetConsensusParamsRequest_FieldNumber_Prove, - .hasIndex = 1, - .offset = 2, // Stored in _has_storage_ to save space. - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), - .dataType = GPBDataTypeBool, - }, - }; - GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsEvidence class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsRequest__storage_) + storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG @@ -3882,18 +5275,18 @@ + (GPBDescriptor *)descriptor { @end -#pragma mark - GetConsensusParamsResponse +#pragma mark - GetConsensusParamsResponse_GetConsensusParamsResponseV0 -@implementation GetConsensusParamsResponse +@implementation GetConsensusParamsResponse_GetConsensusParamsResponseV0 @dynamic hasBlock, block; @dynamic hasEvidence, evidence; -typedef struct GetConsensusParamsResponse__storage_ { +typedef struct GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_ { uint32_t _has_storage_[1]; - ConsensusParamsBlock *block; - ConsensusParamsEvidence *evidence; -} GetConsensusParamsResponse__storage_; + GetConsensusParamsResponse_ConsensusParamsBlock *block; + GetConsensusParamsResponse_ConsensusParamsEvidence *evidence; +} GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. @@ -3903,31 +5296,32 @@ + (GPBDescriptor *)descriptor { static GPBMessageFieldDescription fields[] = { { .name = "block", - .dataTypeSpecific.clazz = GPBObjCClass(ConsensusParamsBlock), - .number = GetConsensusParamsResponse_FieldNumber_Block, + .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsBlock), + .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Block, .hasIndex = 0, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse__storage_, block), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, block), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "evidence", - .dataTypeSpecific.clazz = GPBObjCClass(ConsensusParamsEvidence), - .number = GetConsensusParamsResponse_FieldNumber_Evidence, + .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsEvidence), + .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Evidence, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetConsensusParamsResponse__storage_, evidence), + .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, evidence), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = - [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse class] + [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_GetConsensusParamsResponseV0 class] rootClass:[PlatformRoot class] file:PlatformRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) - storageSize:sizeof(GetConsensusParamsResponse__storage_) + storageSize:sizeof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h index 73073dc540..ed4c310a94 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h @@ -30,10 +30,12 @@ @class GetIdentitiesByPublicKeyHashesResponse; @class GetIdentitiesRequest; @class GetIdentitiesResponse; +@class GetIdentityBalanceAndRevisionRequest; @class GetIdentityBalanceAndRevisionResponse; +@class GetIdentityBalanceRequest; @class GetIdentityBalanceResponse; -@class GetIdentityByPublicKeyHashesRequest; -@class GetIdentityByPublicKeyHashesResponse; +@class GetIdentityByPublicKeyHashRequest; +@class GetIdentityByPublicKeyHashResponse; @class GetIdentityKeysRequest; @class GetIdentityKeysResponse; @class GetIdentityRequest; @@ -88,16 +90,13 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCUnaryProtoCall *)getIdentityKeysWithMessage:(GetIdentityKeysRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; -#pragma mark getIdentityBalance(GetIdentityRequest) returns (GetIdentityBalanceResponse) +#pragma mark getIdentityBalance(GetIdentityBalanceRequest) returns (GetIdentityBalanceResponse) -/** - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - */ -- (GRPCUnaryProtoCall *)getIdentityBalanceWithMessage:(GetIdentityRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +- (GRPCUnaryProtoCall *)getIdentityBalanceWithMessage:(GetIdentityBalanceRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; -#pragma mark getIdentityBalanceAndRevision(GetIdentityRequest) returns (GetIdentityBalanceAndRevisionResponse) +#pragma mark getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse) -- (GRPCUnaryProtoCall *)getIdentityBalanceAndRevisionWithMessage:(GetIdentityRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +- (GRPCUnaryProtoCall *)getIdentityBalanceAndRevisionWithMessage:(GetIdentityBalanceAndRevisionRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; #pragma mark getProofs(GetProofsRequest) returns (GetProofsResponse) @@ -123,9 +122,9 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCUnaryProtoCall *)getIdentitiesByPublicKeyHashesWithMessage:(GetIdentitiesByPublicKeyHashesRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; -#pragma mark getIdentityByPublicKeyHashes(GetIdentityByPublicKeyHashesRequest) returns (GetIdentityByPublicKeyHashesResponse) +#pragma mark getIdentityByPublicKeyHash(GetIdentityByPublicKeyHashRequest) returns (GetIdentityByPublicKeyHashResponse) -- (GRPCUnaryProtoCall *)getIdentityByPublicKeyHashesWithMessage:(GetIdentityByPublicKeyHashesRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +- (GRPCUnaryProtoCall *)getIdentityByPublicKeyHashWithMessage:(GetIdentityByPublicKeyHashRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; #pragma mark waitForStateTransitionResult(WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse) @@ -171,28 +170,18 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetIdentityKeysWithRequest:(GetIdentityKeysRequest *)request handler:(void(^)(GetIdentityKeysResponse *_Nullable response, NSError *_Nullable error))handler; -#pragma mark getIdentityBalance(GetIdentityRequest) returns (GetIdentityBalanceResponse) +#pragma mark getIdentityBalance(GetIdentityBalanceRequest) returns (GetIdentityBalanceResponse) -/** - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - * - * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended. - */ -- (void)getIdentityBalanceWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler; +- (void)getIdentityBalanceWithRequest:(GetIdentityBalanceRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler; -/** - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - * - * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended. - */ -- (GRPCProtoCall *)RPCTogetIdentityBalanceWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler; +- (GRPCProtoCall *)RPCTogetIdentityBalanceWithRequest:(GetIdentityBalanceRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler; -#pragma mark getIdentityBalanceAndRevision(GetIdentityRequest) returns (GetIdentityBalanceAndRevisionResponse) +#pragma mark getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse) -- (void)getIdentityBalanceAndRevisionWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler; +- (void)getIdentityBalanceAndRevisionWithRequest:(GetIdentityBalanceAndRevisionRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler; -- (GRPCProtoCall *)RPCTogetIdentityBalanceAndRevisionWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler; +- (GRPCProtoCall *)RPCTogetIdentityBalanceAndRevisionWithRequest:(GetIdentityBalanceAndRevisionRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler; #pragma mark getProofs(GetProofsRequest) returns (GetProofsResponse) @@ -237,11 +226,11 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetIdentitiesByPublicKeyHashesWithRequest:(GetIdentitiesByPublicKeyHashesRequest *)request handler:(void(^)(GetIdentitiesByPublicKeyHashesResponse *_Nullable response, NSError *_Nullable error))handler; -#pragma mark getIdentityByPublicKeyHashes(GetIdentityByPublicKeyHashesRequest) returns (GetIdentityByPublicKeyHashesResponse) +#pragma mark getIdentityByPublicKeyHash(GetIdentityByPublicKeyHashRequest) returns (GetIdentityByPublicKeyHashResponse) -- (void)getIdentityByPublicKeyHashesWithRequest:(GetIdentityByPublicKeyHashesRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashesResponse *_Nullable response, NSError *_Nullable error))handler; +- (void)getIdentityByPublicKeyHashWithRequest:(GetIdentityByPublicKeyHashRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler; -- (GRPCProtoCall *)RPCTogetIdentityByPublicKeyHashesWithRequest:(GetIdentityByPublicKeyHashesRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashesResponse *_Nullable response, NSError *_Nullable error))handler; +- (GRPCProtoCall *)RPCTogetIdentityByPublicKeyHashWithRequest:(GetIdentityByPublicKeyHashRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler; #pragma mark waitForStateTransitionResult(WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse) diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m index 8d5cb8dce7..7bd7a4d0f1 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m @@ -150,32 +150,19 @@ - (GRPCUnaryProtoCall *)getIdentityKeysWithMessage:(GetIdentityKeysRequest *)mes responseClass:[GetIdentityKeysResponse class]]; } -#pragma mark getIdentityBalance(GetIdentityRequest) returns (GetIdentityBalanceResponse) - -/** - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - * - * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended. - */ -- (void)getIdentityBalanceWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler{ +#pragma mark getIdentityBalance(GetIdentityBalanceRequest) returns (GetIdentityBalanceResponse) + +- (void)getIdentityBalanceWithRequest:(GetIdentityBalanceRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler{ [[self RPCTogetIdentityBalanceWithRequest:request handler:handler] start]; } // Returns a not-yet-started RPC object. -/** - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - * - * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended. - */ -- (GRPCProtoCall *)RPCTogetIdentityBalanceWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler{ +- (GRPCProtoCall *)RPCTogetIdentityBalanceWithRequest:(GetIdentityBalanceRequest *)request handler:(void(^)(GetIdentityBalanceResponse *_Nullable response, NSError *_Nullable error))handler{ return [self RPCToMethod:@"getIdentityBalance" requestsWriter:[GRXWriter writerWithValue:request] responseClass:[GetIdentityBalanceResponse class] responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; } -/** - * rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - */ -- (GRPCUnaryProtoCall *)getIdentityBalanceWithMessage:(GetIdentityRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { +- (GRPCUnaryProtoCall *)getIdentityBalanceWithMessage:(GetIdentityBalanceRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { return [self RPCToMethod:@"getIdentityBalance" message:message responseHandler:handler @@ -183,19 +170,19 @@ - (GRPCUnaryProtoCall *)getIdentityBalanceWithMessage:(GetIdentityRequest *)mess responseClass:[GetIdentityBalanceResponse class]]; } -#pragma mark getIdentityBalanceAndRevision(GetIdentityRequest) returns (GetIdentityBalanceAndRevisionResponse) +#pragma mark getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse) -- (void)getIdentityBalanceAndRevisionWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler{ +- (void)getIdentityBalanceAndRevisionWithRequest:(GetIdentityBalanceAndRevisionRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler{ [[self RPCTogetIdentityBalanceAndRevisionWithRequest:request handler:handler] start]; } // Returns a not-yet-started RPC object. -- (GRPCProtoCall *)RPCTogetIdentityBalanceAndRevisionWithRequest:(GetIdentityRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler{ +- (GRPCProtoCall *)RPCTogetIdentityBalanceAndRevisionWithRequest:(GetIdentityBalanceAndRevisionRequest *)request handler:(void(^)(GetIdentityBalanceAndRevisionResponse *_Nullable response, NSError *_Nullable error))handler{ return [self RPCToMethod:@"getIdentityBalanceAndRevision" requestsWriter:[GRXWriter writerWithValue:request] responseClass:[GetIdentityBalanceAndRevisionResponse class] responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; } -- (GRPCUnaryProtoCall *)getIdentityBalanceAndRevisionWithMessage:(GetIdentityRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { +- (GRPCUnaryProtoCall *)getIdentityBalanceAndRevisionWithMessage:(GetIdentityBalanceAndRevisionRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { return [self RPCToMethod:@"getIdentityBalanceAndRevision" message:message responseHandler:handler @@ -323,24 +310,24 @@ - (GRPCUnaryProtoCall *)getIdentitiesByPublicKeyHashesWithMessage:(GetIdentities responseClass:[GetIdentitiesByPublicKeyHashesResponse class]]; } -#pragma mark getIdentityByPublicKeyHashes(GetIdentityByPublicKeyHashesRequest) returns (GetIdentityByPublicKeyHashesResponse) +#pragma mark getIdentityByPublicKeyHash(GetIdentityByPublicKeyHashRequest) returns (GetIdentityByPublicKeyHashResponse) -- (void)getIdentityByPublicKeyHashesWithRequest:(GetIdentityByPublicKeyHashesRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashesResponse *_Nullable response, NSError *_Nullable error))handler{ - [[self RPCTogetIdentityByPublicKeyHashesWithRequest:request handler:handler] start]; +- (void)getIdentityByPublicKeyHashWithRequest:(GetIdentityByPublicKeyHashRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetIdentityByPublicKeyHashWithRequest:request handler:handler] start]; } // Returns a not-yet-started RPC object. -- (GRPCProtoCall *)RPCTogetIdentityByPublicKeyHashesWithRequest:(GetIdentityByPublicKeyHashesRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashesResponse *_Nullable response, NSError *_Nullable error))handler{ - return [self RPCToMethod:@"getIdentityByPublicKeyHashes" +- (GRPCProtoCall *)RPCTogetIdentityByPublicKeyHashWithRequest:(GetIdentityByPublicKeyHashRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getIdentityByPublicKeyHash" requestsWriter:[GRXWriter writerWithValue:request] - responseClass:[GetIdentityByPublicKeyHashesResponse class] + responseClass:[GetIdentityByPublicKeyHashResponse class] responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; } -- (GRPCUnaryProtoCall *)getIdentityByPublicKeyHashesWithMessage:(GetIdentityByPublicKeyHashesRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { - return [self RPCToMethod:@"getIdentityByPublicKeyHashes" +- (GRPCUnaryProtoCall *)getIdentityByPublicKeyHashWithMessage:(GetIdentityByPublicKeyHashRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getIdentityByPublicKeyHash" message:message responseHandler:handler callOptions:callOptions - responseClass:[GetIdentityByPublicKeyHashesResponse class]]; + responseClass:[GetIdentityByPublicKeyHashResponse class]]; } #pragma mark waitForStateTransitionResult(WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse) diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py index 3cecf26362..aa0818a194 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py @@ -22,7 +22,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x81\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\x0f\n\x07time_ms\x18\x03 \x01(\x04\x12\x18\n\x10protocol_version\x18\x04 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x05 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"/\n\x12GetIdentityRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\"\xa5\x01\n\x13GetIdentityResponse\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06result\"2\n\x14GetIdentitiesRequest\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\"\xdb\x03\n\x15GetIdentitiesResponse\x12Q\n\nidentities\x18\x01 \x01(\x0b\x32;.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentitiesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\rIdentityValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x1ak\n\rIdentityEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue\x1a\x66\n\nIdentities\x12X\n\x10identity_entries\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntryB\x08\n\x06result\"\xc9\x01\n\x1aGetIdentityBalanceResponse\x12/\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06result\"\x8d\x03\n%GetIdentityBalanceAndRevisionResponse\x12s\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1as\n\x12\x42\x61lanceAndRevision\x12-\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt64Value\x12.\n\x08revision\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueB\x08\n\x06result\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xd8\x01\n\x16GetIdentityKeysRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\"\xfa\x01\n\x17GetIdentityKeysResponse\x12G\n\x04keys\x18\x01 \x01(\x0b\x32\x37.org.dash.platform.dapi.v0.GetIdentityKeysResponse.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06result\"\xb2\x04\n\x18GetIdentitiesKeysRequest\x12\x14\n\x0cidentity_ids\x18\x01 \x03(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x1a\xd4\x02\n\x10SecurityLevelMap\x12v\n\x12security_level_map\x18\x01 \x03(\x0b\x32Z.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.SecurityLevelMapEntry\x1a\x90\x01\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x66\n\x05value\x18\x02 \x01(\x0e\x32W.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"5\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\"\xf4\x03\n\x19GetIdentitiesKeysResponse\x12\\\n\x0bpublic_keys\x18\x01 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\tPublicKey\x12\r\n\x05value\x18\x01 \x01(\x0c\x1al\n\x0ePublicKeyEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey\x1as\n\x10PublicKeyEntries\x12_\n\x12public_key_entries\x18\x01 \x03(\x0b\x32\x43.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntryB\x08\n\x06result\"\xd7\x04\n\x10GetProofsRequest\x12O\n\nidentities\x18\x01 \x03(\x0b\x32;.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest\x12N\n\tcontracts\x18\x02 \x03(\x0b\x32;.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest\x12N\n\tdocuments\x18\x03 \x03(\x0b\x32;.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest\x1aw\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x1a\xb0\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12V\n\x0crequest_type\x18\x02 \x01(\x0e\x32@.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type\"0\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\"\x83\x01\n\x11GetProofsResponse\x12/\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\"3\n\x16GetDataContractRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\"\xae\x01\n\x17GetDataContractResponse\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06result\"5\n\x17GetDataContractsRequest\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\"\x86\x04\n\x18GetDataContractsResponse\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\"\n\x11\x44\x61taContractValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x1av\n\x11\x44\x61taContractEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12T\n\x05value\x18\x02 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntryB\x08\n\x06result\"\xaa\x01\n\x1dGetDataContractHistoryRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\"\xd0\x03\n\x1eGetDataContractHistoryResponse\x12n\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\x88\x01\n\x13\x44\x61taContractHistory\x12q\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntryB\x08\n\x06result\"\xb9\x01\n\x13GetDocumentsRequest\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05start\"\x82\x02\n\x14GetDocumentsResponse\x12N\n\tdocuments\x18\x01 \x01(\x0b\x32\x39.org.dash.platform.dapi.v0.GetDocumentsResponse.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06result\"Q\n%GetIdentitiesByPublicKeyHashesRequest\x12\x19\n\x11public_key_hashes\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\"\xaa\x02\n&GetIdentitiesByPublicKeyHashesResponse\x12\x62\n\nidentities\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a \n\nIdentities\x12\x12\n\nidentities\x18\x01 \x03(\x0c\x42\x08\n\x06result\"M\n#GetIdentityByPublicKeyHashesRequest\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\"\xb6\x01\n$GetIdentityByPublicKeyHashesResponse\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06result\"S\n#WaitForStateTransitionResultRequest\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\"\xed\x01\n$WaitForStateTransitionResultResponse\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06result\"P\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\"b\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\":\n\x19GetConsensusParamsRequest\x12\x0e\n\x06height\x18\x01 \x01(\x03\x12\r\n\x05prove\x18\x02 \x01(\x08\"\xa2\x01\n\x1aGetConsensusParamsResponse\x12>\n\x05\x62lock\x18\x01 \x01(\x0b\x32/.org.dash.platform.dapi.v0.ConsensusParamsBlock\x12\x44\n\x08\x65vidence\x18\x02 \x01(\x0b\x32\x32.org.dash.platform.dapi.v0.ConsensusParamsEvidence2\xdb\x0f\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12r\n\rgetIdentities\x12/.org.dash.platform.dapi.v0.GetIdentitiesRequest\x1a\x30.org.dash.platform.dapi.v0.GetIdentitiesResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12z\n\x12getIdentityBalance\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\x90\x01\n\x1dgetIdentityBalanceAndRevision\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\xa5\x01\n\x1egetIdentitiesByPublicKeyHashes\x12@.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest\x1a\x41.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse\x12\x9f\x01\n\x1cgetIdentityByPublicKeyHashes\x12>.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest\x1a?.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponseb\x06proto3' + serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x81\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\x0f\n\x07time_ms\x18\x03 \x01(\x04\x12\x18\n\x10protocol_version\x18\x04 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x05 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xad\x01\n\x14GetIdentitiesRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0H\x00\x1a\x34\n\x16GetIdentitiesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x04\n\x15GetIdentitiesResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0H\x00\x1a\x1e\n\rIdentityValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x1ak\n\rIdentityEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue\x1a\x66\n\nIdentities\x12X\n\x10identity_entries\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry\x1a\xe8\x01\n\x17GetIdentitiesResponseV0\x12Q\n\nidentities\x18\x01 \x01(\x0b\x32;.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentitiesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xad\x01\n\x1cGetIdentityBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xa9\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\xfc\x02\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x12\x42\x61lanceAndRevision\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\x10\n\x08revision\x18\x02 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x93\x06\n\x10GetProofsRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0H\x00\x1a\xa5\x05\n\x12GetProofsRequestV0\x12\x62\n\nidentities\x18\x01 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest\x12\x61\n\tcontracts\x18\x02 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest\x12\x61\n\tdocuments\x18\x03 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest\x1aw\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x1a\xc3\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12i\n\x0crequest_type\x18\x02 \x01(\x0e\x32S.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type\"0\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x42\t\n\x07version\"\xf6\x01\n\x11GetProofsResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0H\x00\x1a\x85\x01\n\x13GetProofsResponseV0\x12/\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc1\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xac\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xae\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x96\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xb2\x02\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05startB\t\n\x07version\"\x95\x03\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xff\x01\n%GetIdentitiesByPublicKeyHashesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0H\x00\x1aS\n\'GetIdentitiesByPublicKeyHashesRequestV0\x12\x19\n\x11public_key_hashes\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc6\x05\n&GetIdentitiesByPublicKeyHashesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0H\x00\x1a\x61\n\x1aPublicKeyHashIdentityEntry\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1a\x95\x01\n\x1bIdentitiesByPublicKeyHashes\x12v\n\x10identity_entries\x18\x01 \x03(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry\x1a\x9b\x02\n(GetIdentitiesByPublicKeyHashesResponseV0\x12s\n\nidentities\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version2\xef\x0f\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12r\n\rgetIdentities\x12/.org.dash.platform.dapi.v0.GetIdentitiesRequest\x1a\x30.org.dash.platform.dapi.v0.GetIdentitiesResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\xa5\x01\n\x1egetIdentitiesByPublicKeyHashes\x12@.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest\x1a\x41.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponseb\x06proto3' , dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) @@ -48,34 +48,14 @@ ], containing_type=None, serialized_options=None, - serialized_start=2608, - serialized_end=2691, + serialized_start=3800, + serialized_end=3883, ) _sym_db.RegisterEnumDescriptor(_SECURITYLEVELMAP_KEYKINDREQUESTTYPE) -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_KEYKINDREQUESTTYPE = _descriptor.EnumDescriptor( - name='KeyKindRequestType', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='CURRENT_KEY_OF_KIND_REQUEST', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=2608, - serialized_end=2661, -) -_sym_db.RegisterEnumDescriptor(_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_KEYKINDREQUESTTYPE) - -_GETPROOFSREQUEST_IDENTITYREQUEST_TYPE = _descriptor.EnumDescriptor( +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE = _descriptor.EnumDescriptor( name='Type', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, @@ -98,10 +78,10 @@ ], containing_type=None, serialized_options=None, - serialized_start=4745, - serialized_end=4793, + serialized_start=5335, + serialized_end=5383, ) -_sym_db.RegisterEnumDescriptor(_GETPROOFSREQUEST_IDENTITYREQUEST_TYPE) +_sym_db.RegisterEnumDescriptor(_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE) _PROOF = _descriptor.Descriptor( @@ -334,23 +314,23 @@ ) -_GETIDENTITYREQUEST = _descriptor.Descriptor( - name='GetIdentityRequest', - full_name='org.dash.platform.dapi.v0.GetIdentityRequest', +_GETIDENTITYREQUEST_GETIDENTITYREQUESTV0 = _descriptor.Descriptor( + name='GetIdentityRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='id', full_name='org.dash.platform.dapi.v0.GetIdentityRequest.id', index=0, + name='id', full_name='org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.id', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityRequest.prove', index=1, + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prove', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, @@ -368,36 +348,21 @@ extension_ranges=[], oneofs=[ ], - serialized_start=579, - serialized_end=626, + serialized_start=684, + serialized_end=733, ) - -_GETIDENTITYRESPONSE = _descriptor.Descriptor( - name='GetIdentityResponse', - full_name='org.dash.platform.dapi.v0.GetIdentityResponse', +_GETIDENTITYREQUEST = _descriptor.Descriptor( + name='GetIdentityRequest', + full_name='org.dash.platform.dapi.v0.GetIdentityRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.identity', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -405,7 +370,7 @@ ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYREQUEST_GETIDENTITYREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -414,33 +379,33 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=629, - serialized_end=794, + serialized_start=580, + serialized_end=744, ) -_GETIDENTITIESREQUEST = _descriptor.Descriptor( - name='GetIdentitiesRequest', - full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest', +_GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0 = _descriptor.Descriptor( + name='GetIdentityBalanceRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='ids', full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest.ids', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='id', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest.prove', index=1, + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prove', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, @@ -458,30 +423,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=796, - serialized_end=846, + serialized_start=872, + serialized_end=928, ) - -_GETIDENTITIESRESPONSE_IDENTITYVALUE = _descriptor.Descriptor( - name='IdentityValue', - full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue', +_GETIDENTITYBALANCEREQUEST = _descriptor.Descriptor( + name='GetIdentityBalanceRequest', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.value', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -489,30 +453,36 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=1071, - serialized_end=1101, + serialized_start=747, + serialized_end=939, ) -_GETIDENTITIESRESPONSE_IDENTITYENTRY = _descriptor.Descriptor( - name='IdentityEntry', - full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry', + +_GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0 = _descriptor.Descriptor( + name='GetIdentityBalanceAndRevisionRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.key', index=0, + name='id', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.id', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -528,29 +498,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1103, - serialized_end=1210, + serialized_start=1100, + serialized_end=1167, ) -_GETIDENTITIESRESPONSE_IDENTITIES = _descriptor.Descriptor( - name='Identities', - full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities', +_GETIDENTITYBALANCEANDREVISIONREQUEST = _descriptor.Descriptor( + name='GetIdentityBalanceAndRevisionRequest', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity_entries', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.identity_entries', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -558,35 +528,41 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=1212, - serialized_end=1314, + serialized_start=942, + serialized_end=1178, ) -_GETIDENTITIESRESPONSE = _descriptor.Descriptor( - name='GetIdentitiesResponse', - full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse', + +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentityResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identities', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.identities', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='identity', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.identity', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.proof', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.metadata', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -595,7 +571,7 @@ ], extensions=[ ], - nested_types=[_GETIDENTITIESRESPONSE_IDENTITYVALUE, _GETIDENTITIESRESPONSE_IDENTITYENTRY, _GETIDENTITIESRESPONSE_IDENTITIES, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -604,49 +580,34 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.result', + name='result', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=849, - serialized_end=1324, + serialized_start=1289, + serialized_end=1456, ) - -_GETIDENTITYBALANCERESPONSE = _descriptor.Descriptor( - name='GetIdentityBalanceResponse', - full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse', +_GETIDENTITYRESPONSE = _descriptor.Descriptor( + name='GetIdentityResponse', + full_name='org.dash.platform.dapi.v0.GetIdentityResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='balance', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.balance', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -655,35 +616,35 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=1327, - serialized_end=1528, + serialized_start=1181, + serialized_end=1467, ) -_GETIDENTITYBALANCEANDREVISIONRESPONSE_BALANCEANDREVISION = _descriptor.Descriptor( - name='BalanceAndRevision', - full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision', +_GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0 = _descriptor.Descriptor( + name='GetIdentitiesRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='balance', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.balance', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='ids', full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.ids', index=0, + number=1, type=12, cpp_type=9, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='revision', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.revision', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -699,43 +660,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1803, - serialized_end=1918, + serialized_start=1580, + serialized_end=1632, ) -_GETIDENTITYBALANCEANDREVISIONRESPONSE = _descriptor.Descriptor( - name='GetIdentityBalanceAndRevisionResponse', - full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse', +_GETIDENTITIESREQUEST = _descriptor.Descriptor( + name='GetIdentitiesRequest', + full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='balance_and_revision', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.balance_and_revision', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETIDENTITYBALANCEANDREVISIONRESPONSE_BALANCEANDREVISION, ], + nested_types=[_GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -744,42 +691,28 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentitiesRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=1531, - serialized_end=1928, + serialized_start=1470, + serialized_end=1643, ) -_KEYREQUESTTYPE = _descriptor.Descriptor( - name='KeyRequestType', - full_name='org.dash.platform.dapi.v0.KeyRequestType', +_GETIDENTITIESRESPONSE_IDENTITYVALUE = _descriptor.Descriptor( + name='IdentityValue', + full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='all_keys', full_name='org.dash.platform.dapi.v0.KeyRequestType.all_keys', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='specific_keys', full_name='org.dash.platform.dapi.v0.KeyRequestType.specific_keys', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='search_key', full_name='org.dash.platform.dapi.v0.KeyRequestType.search_key', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.value', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -794,25 +727,33 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='request', full_name='org.dash.platform.dapi.v0.KeyRequestType.request', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=1931, - serialized_end=2140, + serialized_start=1759, + serialized_end=1789, ) - -_ALLKEYS = _descriptor.Descriptor( - name='AllKeys', - full_name='org.dash.platform.dapi.v0.AllKeys', +_GETIDENTITIESRESPONSE_IDENTITYENTRY = _descriptor.Descriptor( + name='IdentityEntry', + full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.key', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.value', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -825,22 +766,21 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2142, - serialized_end=2151, + serialized_start=1791, + serialized_end=1898, ) - -_SPECIFICKEYS = _descriptor.Descriptor( - name='SpecificKeys', - full_name='org.dash.platform.dapi.v0.SpecificKeys', +_GETIDENTITIESRESPONSE_IDENTITIES = _descriptor.Descriptor( + name='Identities', + full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key_ids', full_name='org.dash.platform.dapi.v0.SpecificKeys.key_ids', index=0, - number=1, type=13, cpp_type=3, label=3, + name='identity_entries', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.identity_entries', index=0, + number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -857,68 +797,79 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2153, - serialized_end=2184, + serialized_start=1900, + serialized_end=2002, ) - -_SEARCHKEY_PURPOSEMAPENTRY = _descriptor.Descriptor( - name='PurposeMapEntry', - full_name='org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry', +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentitiesResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry.key', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='identities', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.identities', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry.value', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.proof', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - serialized_options=b'8\001', + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=2275, - serialized_end=2369, + serialized_start=2005, + serialized_end=2237, ) -_SEARCHKEY = _descriptor.Descriptor( - name='SearchKey', - full_name='org.dash.platform.dapi.v0.SearchKey', +_GETIDENTITIESRESPONSE = _descriptor.Descriptor( + name='GetIdentitiesResponse', + full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='purpose_map', full_name='org.dash.platform.dapi.v0.SearchKey.purpose_map', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_SEARCHKEY_PURPOSEMAPENTRY, ], + nested_types=[_GETIDENTITIESRESPONSE_IDENTITYVALUE, _GETIDENTITIESRESPONSE_IDENTITYENTRY, _GETIDENTITIESRESPONSE_IDENTITIES, _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -926,130 +877,175 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentitiesResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=2187, - serialized_end=2369, + serialized_start=1646, + serialized_end=2248, ) -_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY = _descriptor.Descriptor( - name='SecurityLevelMapEntry', - full_name='org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry', +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0 = _descriptor.Descriptor( + name='GetIdentityBalanceResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry.key', index=0, - number=1, type=13, cpp_type=3, label=1, + name='balance', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.balance', index=0, + number=1, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry.value', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], enum_types=[ ], - serialized_options=b'8\001', + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=2487, - serialized_end=2606, + serialized_start=2380, + serialized_end=2553, ) -_SECURITYLEVELMAP = _descriptor.Descriptor( - name='SecurityLevelMap', - full_name='org.dash.platform.dapi.v0.SecurityLevelMap', +_GETIDENTITYBALANCERESPONSE = _descriptor.Descriptor( + name='GetIdentityBalanceResponse', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='security_level_map', full_name='org.dash.platform.dapi.v0.SecurityLevelMap.security_level_map', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY, ], + nested_types=[_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0, ], enum_types=[ - _SECURITYLEVELMAP_KEYKINDREQUESTTYPE, ], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=2372, - serialized_end=2691, + serialized_start=2251, + serialized_end=2564, ) -_GETIDENTITYKEYSREQUEST = _descriptor.Descriptor( - name='GetIdentityKeysRequest', - full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest', +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION = _descriptor.Descriptor( + name='BalanceAndRevision', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity_id', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.identity_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='balance', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.balance', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='request_type', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.request_type', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='revision', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.revision', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3044, + serialized_end=3099, +) + +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentityBalanceAndRevisionResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ _descriptor.FieldDescriptor( - name='limit', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.limit', index=2, - number=3, type=11, cpp_type=10, label=1, + name='balance_and_revision', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.balance_and_revision', index=0, + number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='offset', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.offset', index=3, - number=4, type=11, cpp_type=10, label=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.prove', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION, ], enum_types=[ ], serialized_options=None, @@ -1057,31 +1053,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=2694, - serialized_end=2910, + serialized_start=2729, + serialized_end=3109, ) - -_GETIDENTITYKEYSRESPONSE_KEYS = _descriptor.Descriptor( - name='Keys', - full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys', +_GETIDENTITYBALANCEANDREVISIONRESPONSE = _descriptor.Descriptor( + name='GetIdentityBalanceAndRevisionResponse', + full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='keys_bytes', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.keys_bytes', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -1089,35 +1089,41 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=3127, - serialized_end=3153, + serialized_start=2567, + serialized_end=3120, ) -_GETIDENTITYKEYSRESPONSE = _descriptor.Descriptor( - name='GetIdentityKeysResponse', - full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse', + +_KEYREQUESTTYPE = _descriptor.Descriptor( + name='KeyRequestType', + full_name='org.dash.platform.dapi.v0.KeyRequestType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='keys', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.keys', index=0, + name='all_keys', full_name='org.dash.platform.dapi.v0.KeyRequestType.all_keys', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.proof', index=1, + name='specific_keys', full_name='org.dash.platform.dapi.v0.KeyRequestType.specific_keys', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.metadata', index=2, + name='search_key', full_name='org.dash.platform.dapi.v0.KeyRequestType.search_key', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -1126,7 +1132,7 @@ ], extensions=[ ], - nested_types=[_GETIDENTITYKEYSRESPONSE_KEYS, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -1135,33 +1141,160 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.result', + name='request', full_name='org.dash.platform.dapi.v0.KeyRequestType.request', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=2913, - serialized_end=3163, + serialized_start=3123, + serialized_end=3332, +) + + +_ALLKEYS = _descriptor.Descriptor( + name='AllKeys', + full_name='org.dash.platform.dapi.v0.AllKeys', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3334, + serialized_end=3343, +) + + +_SPECIFICKEYS = _descriptor.Descriptor( + name='SpecificKeys', + full_name='org.dash.platform.dapi.v0.SpecificKeys', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key_ids', full_name='org.dash.platform.dapi.v0.SpecificKeys.key_ids', index=0, + number=1, type=13, cpp_type=3, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3345, + serialized_end=3376, +) + + +_SEARCHKEY_PURPOSEMAPENTRY = _descriptor.Descriptor( + name='PurposeMapEntry', + full_name='org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry.key', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry.value', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3467, + serialized_end=3561, ) +_SEARCHKEY = _descriptor.Descriptor( + name='SearchKey', + full_name='org.dash.platform.dapi.v0.SearchKey', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='purpose_map', full_name='org.dash.platform.dapi.v0.SearchKey.purpose_map', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_SEARCHKEY_PURPOSEMAPENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3379, + serialized_end=3561, +) -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY = _descriptor.Descriptor( + +_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY = _descriptor.Descriptor( name='SecurityLevelMapEntry', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.SecurityLevelMapEntry', + full_name='org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.SecurityLevelMapEntry.key', index=0, + name='key', full_name='org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry.key', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.SecurityLevelMapEntry.value', index=1, + name='value', full_name='org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -1179,20 +1312,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3529, - serialized_end=3673, + serialized_start=3679, + serialized_end=3798, ) -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP = _descriptor.Descriptor( +_SECURITYLEVELMAP = _descriptor.Descriptor( name='SecurityLevelMap', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap', + full_name='org.dash.platform.dapi.v0.SecurityLevelMap', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='security_level_map', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.security_level_map', index=0, + name='security_level_map', full_name='org.dash.platform.dapi.v0.SecurityLevelMap.security_level_map', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -1201,9 +1334,9 @@ ], extensions=[ ], - nested_types=[_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY, ], + nested_types=[_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY, ], enum_types=[ - _GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_KEYKINDREQUESTTYPE, + _SECURITYLEVELMAP_KEYKINDREQUESTTYPE, ], serialized_options=None, is_extendable=False, @@ -1211,49 +1344,684 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3388, - serialized_end=3728, + serialized_start=3564, + serialized_end=3883, ) -_GETIDENTITIESKEYSREQUEST = _descriptor.Descriptor( - name='GetIdentitiesKeysRequest', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest', + +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0 = _descriptor.Descriptor( + name='GetIdentityKeysRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity_ids', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.identity_ids', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='identity_id', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.identity_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='request_type', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.request_type', index=1, + name='request_type', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.request_type', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='limit', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.limit', index=2, + name='limit', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.limit', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='offset', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.offset', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='offset', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.offset', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prove', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4003, + serialized_end=4221, +) + +_GETIDENTITYKEYSREQUEST = _descriptor.Descriptor( + name='GetIdentityKeysRequest', + full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityKeysRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=3886, + serialized_end=4232, +) + + +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS = _descriptor.Descriptor( + name='Keys', + full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='keys_bytes', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.keys_bytes', index=0, + number=1, type=12, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4597, + serialized_end=4623, +) + +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentityKeysResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='keys', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.keys', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=4355, + serialized_end=4633, +) + +_GETIDENTITYKEYSRESPONSE = _descriptor.Descriptor( + name='GetIdentityKeysResponse', + full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityKeysResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=4235, + serialized_end=4644, +) + + +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST = _descriptor.Descriptor( + name='DocumentRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.contract_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='document_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_type', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='document_type_keeps_history', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_type_keeps_history', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='document_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.document_id', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5066, + serialized_end=5185, +) + +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST = _descriptor.Descriptor( + name='IdentityRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='identity_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.identity_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='request_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.request_type', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5188, + serialized_end=5383, +) + +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST = _descriptor.Descriptor( + name='ContractRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.contract_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5385, + serialized_end=5423, +) + +_GETPROOFSREQUEST_GETPROOFSREQUESTV0 = _descriptor.Descriptor( + name='GetProofsRequestV0', + full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='identities', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.identities', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='contracts', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.contracts', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='documents', full_name='org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.documents', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST, _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4746, + serialized_end=5423, +) + +_GETPROOFSREQUEST = _descriptor.Descriptor( + name='GetProofsRequest', + full_name='org.dash.platform.dapi.v0.GetProofsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetProofsRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETPROOFSREQUEST_GETPROOFSREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetProofsRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=4647, + serialized_end=5434, +) + + +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0 = _descriptor.Descriptor( + name='GetProofsResponseV0', + full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.proof', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.metadata', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5539, + serialized_end=5672, +) + +_GETPROOFSRESPONSE = _descriptor.Descriptor( + name='GetProofsResponse', + full_name='org.dash.platform.dapi.v0.GetProofsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetProofsResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetProofsResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=5437, + serialized_end=5683, +) + + +_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0 = _descriptor.Descriptor( + name='GetDataContractRequestV0', + full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5802, + serialized_end=5855, +) + +_GETDATACONTRACTREQUEST = _descriptor.Descriptor( + name='GetDataContractRequest', + full_name='org.dash.platform.dapi.v0.GetDataContractRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=5686, + serialized_end=5866, +) + + +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0 = _descriptor.Descriptor( + name='GetDataContractResponseV0', + full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data_contract', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.data_contract', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=5989, + serialized_end=6165, +) + +_GETDATACONTRACTRESPONSE = _descriptor.Descriptor( + name='GetDataContractResponse', + full_name='org.dash.platform.dapi.v0.GetDataContractResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=5869, + serialized_end=6176, +) + + +_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0 = _descriptor.Descriptor( + name='GetDataContractsRequestV0', + full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='ids', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.ids', index=0, + number=1, type=12, cpp_type=9, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prove', index=4, - number=5, type=8, cpp_type=7, label=1, + name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -1261,7 +2029,7 @@ ], extensions=[ ], - nested_types=[_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -1270,30 +2038,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3166, - serialized_end=3728, + serialized_start=6298, + serialized_end=6353, ) - -_GETIDENTITIESKEYSRESPONSE_PUBLICKEY = _descriptor.Descriptor( - name='PublicKey', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey', +_GETDATACONTRACTSREQUEST = _descriptor.Descriptor( + name='GetDataContractsRequest', + full_name='org.dash.platform.dapi.v0.GetDataContractsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.value', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -1301,28 +2068,34 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=3968, - serialized_end=3994, + serialized_start=6179, + serialized_end=6364, ) -_GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRY = _descriptor.Descriptor( - name='PublicKeyEntry', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry', + +_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY = _descriptor.Descriptor( + name='DataContractEntry', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.key', index=0, + name='identifier', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.identifier', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.value', index=1, + name='data_contract', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.data_contract', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -1340,20 +2113,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3996, - serialized_end=4104, + serialized_start=6489, + serialized_end=6580, ) -_GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRIES = _descriptor.Descriptor( - name='PublicKeyEntries', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries', +_GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( + name='DataContracts', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='public_key_entries', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.public_key_entries', index=0, + name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.data_contract_entries', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -1371,34 +2144,34 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4106, - serialized_end=4221, + serialized_start=6582, + serialized_end=6699, ) -_GETIDENTITIESKEYSRESPONSE = _descriptor.Descriptor( - name='GetIdentitiesKeysResponse', - full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse', +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 = _descriptor.Descriptor( + name='GetDataContractsResponseV0', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='public_keys', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.public_keys', index=0, + name='data_contracts', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.data_contracts', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.proof', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.metadata', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -1407,7 +2180,7 @@ ], extensions=[ ], - nested_types=[_GETIDENTITIESKEYSRESPONSE_PUBLICKEY, _GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRY, _GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRIES, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -1416,49 +2189,92 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.result', + name='result', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=3731, - serialized_end=4231, + serialized_start=6702, + serialized_end=6947, ) +_GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( + name='GetDataContractsResponse', + full_name='org.dash.platform.dapi.v0.GetDataContractsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY, _GETDATACONTRACTSRESPONSE_DATACONTRACTS, _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=6367, + serialized_end=6958, +) -_GETPROOFSREQUEST_DOCUMENTREQUEST = _descriptor.Descriptor( - name='DocumentRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest', + +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0 = _descriptor.Descriptor( + name='GetDataContractHistoryRequestV0', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.contract_id', index=0, + name='id', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.id', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='document_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.document_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), + name='limit', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.limit', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='document_type_keeps_history', full_name='org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.document_type_keeps_history', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='offset', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.offset', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='document_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.document_id', index=3, - number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='start_at_ms', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.start_at_ms', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prove', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -1474,38 +2290,74 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4495, - serialized_end=4614, + serialized_start=7099, + serialized_end=7271, ) -_GETPROOFSREQUEST_IDENTITYREQUEST = _descriptor.Descriptor( - name='IdentityRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest', +_GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( + name='GetDataContractHistoryRequest', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.identity_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=6961, + serialized_end=7282, +) + + +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY = _descriptor.Descriptor( + name='DataContractHistoryEntry', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ _descriptor.FieldDescriptor( - name='request_type', full_name='org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.request_type', index=1, - number=2, type=14, cpp_type=8, label=1, + name='date', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.date', index=0, + number=1, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.value', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ - _GETPROOFSREQUEST_IDENTITYREQUEST_TYPE, ], serialized_options=None, is_extendable=False, @@ -1513,22 +2365,22 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4617, - serialized_end=4793, + serialized_start=7722, + serialized_end=7777, ) -_GETPROOFSREQUEST_CONTRACTREQUEST = _descriptor.Descriptor( - name='ContractRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest', +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY = _descriptor.Descriptor( + name='DataContractHistory', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='contract_id', full_name='org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.contract_id', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.data_contract_entries', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -1544,43 +2396,43 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4795, - serialized_end=4833, + serialized_start=7780, + serialized_end=7950, ) -_GETPROOFSREQUEST = _descriptor.Descriptor( - name='GetProofsRequest', - full_name='org.dash.platform.dapi.v0.GetProofsRequest', +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 = _descriptor.Descriptor( + name='GetDataContractHistoryResponseV0', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identities', full_name='org.dash.platform.dapi.v0.GetProofsRequest.identities', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='data_contract_history', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.data_contract_history', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='contracts', full_name='org.dash.platform.dapi.v0.GetProofsRequest.contracts', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='documents', full_name='org.dash.platform.dapi.v0.GetProofsRequest.documents', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETPROOFSREQUEST_DOCUMENTREQUEST, _GETPROOFSREQUEST_IDENTITYREQUEST, _GETPROOFSREQUEST_CONTRACTREQUEST, ], + nested_types=[_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY, _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY, ], enum_types=[ ], serialized_options=None, @@ -1588,38 +2440,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=4234, - serialized_end=4833, + serialized_start=7426, + serialized_end=7960, ) - -_GETPROOFSRESPONSE = _descriptor.Descriptor( - name='GetProofsResponse', - full_name='org.dash.platform.dapi.v0.GetProofsResponse', +_GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( + name='GetDataContractHistoryResponse', + full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetProofsResponse.proof', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetProofsResponse.metadata', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -1627,30 +2476,77 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=4836, - serialized_end=4967, + serialized_start=7285, + serialized_end=7971, ) -_GETDATACONTRACTREQUEST = _descriptor.Descriptor( - name='GetDataContractRequest', - full_name='org.dash.platform.dapi.v0.GetDataContractRequest', +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 = _descriptor.Descriptor( + name='GetDocumentsRequestV0', + full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='id', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.id', index=0, + name='data_contract_id', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.data_contract_id', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractRequest.prove', index=1, - number=2, type=8, cpp_type=7, label=1, + name='document_type', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.document_type', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='where', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.where', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='order_by', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.order_by', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='limit', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.limit', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_after', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start_after', index=5, + number=6, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_at', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start_at', index=6, + number=7, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prove', index=7, + number=8, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -1666,37 +2562,27 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='start', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.start', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=4969, - serialized_end=5020, + serialized_start=8082, + serialized_end=8269, ) - -_GETDATACONTRACTRESPONSE = _descriptor.Descriptor( - name='GetDataContractResponse', - full_name='org.dash.platform.dapi.v0.GetDataContractResponse', +_GETDOCUMENTSREQUEST = _descriptor.Descriptor( + name='GetDocumentsRequest', + full_name='org.dash.platform.dapi.v0.GetDocumentsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.data_contract', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, + name='v0', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -1704,7 +2590,7 @@ ], extensions=[ ], - nested_types=[], + nested_types=[_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -1713,38 +2599,31 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDataContractResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5023, - serialized_end=5197, + serialized_start=7974, + serialized_end=8280, ) -_GETDATACONTRACTSREQUEST = _descriptor.Descriptor( - name='GetDataContractsRequest', - full_name='org.dash.platform.dapi.v0.GetDataContractsRequest', +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS = _descriptor.Descriptor( + name='Documents', + full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='ids', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.ids', index=0, + name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.documents', index=0, number=1, type=12, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractsRequest.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1757,30 +2636,43 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5199, - serialized_end=5252, + serialized_start=8637, + serialized_end=8667, ) - -_GETDATACONTRACTSRESPONSE_DATACONTRACTVALUE = _descriptor.Descriptor( - name='DataContractValue', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue', +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 = _descriptor.Descriptor( + name='GetDocumentsResponseV0', + full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.value', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.documents', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS, ], enum_types=[ ], serialized_options=None, @@ -1788,29 +2680,27 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=5490, - serialized_end=5524, + serialized_start=8394, + serialized_end=8677, ) -_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY = _descriptor.Descriptor( - name='DataContractEntry', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry', +_GETDOCUMENTSRESPONSE = _descriptor.Descriptor( + name='GetDocumentsResponse', + full_name='org.dash.platform.dapi.v0.GetDocumentsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.key', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.value', index=1, - number=2, type=11, cpp_type=10, label=1, + name='v0', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -1818,7 +2708,7 @@ ], extensions=[ ], - nested_types=[], + nested_types=[_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -1826,26 +2716,39 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=5526, - serialized_end=5644, + serialized_start=8283, + serialized_end=8688, ) -_GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( - name='DataContracts', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts', + +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0 = _descriptor.Descriptor( + name='GetIdentitiesByPublicKeyHashesRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.data_contract_entries', index=0, - number=1, type=11, cpp_type=10, label=3, + name='public_key_hashes', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.public_key_hashes', index=0, + number=1, type=12, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1858,43 +2761,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5646, - serialized_end=5763, + serialized_start=8852, + serialized_end=8935, ) -_GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( - name='GetDataContractsResponse', - full_name='org.dash.platform.dapi.v0.GetDataContractsResponse', +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST = _descriptor.Descriptor( + name='GetIdentitiesByPublicKeyHashesRequest', + full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contracts', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.data_contracts', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETDATACONTRACTSRESPONSE_DATACONTRACTVALUE, _GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY, _GETDATACONTRACTSRESPONSE_DATACONTRACTS, ], + nested_types=[_GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -1903,59 +2792,38 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDataContractsResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5255, - serialized_end=5773, + serialized_start=8691, + serialized_end=8946, ) -_GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( - name='GetDataContractHistoryRequest', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest', +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY = _descriptor.Descriptor( + name='PublicKeyHashIdentityEntry', + full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='id', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.id', index=0, + name='public_key_hash', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.public_key_hash', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='limit', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.limit', index=1, + name='value', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='offset', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.offset', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_at_ms', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.start_at_ms', index=3, - number=4, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prove', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1968,30 +2836,22 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5776, - serialized_end=5946, + serialized_start=9113, + serialized_end=9210, ) - -_GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORYENTRY = _descriptor.Descriptor( - name='DataContractHistoryEntry', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry', +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES = _descriptor.Descriptor( + name='IdentitiesByPublicKeyHashes', + full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='date', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.date', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.value', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='identity_entries', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.identity_entries', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2007,22 +2867,36 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6209, - serialized_end=6264, + serialized_start=9213, + serialized_end=9362, ) -_GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORY = _descriptor.Descriptor( - name='DataContractHistory', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory', +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentitiesByPublicKeyHashesResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_entries', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.data_contract_entries', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], + name='identities', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.identities', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2037,44 +2911,35 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=6267, - serialized_end=6403, + serialized_start=9365, + serialized_end=9648, ) -_GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( - name='GetDataContractHistoryResponse', - full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse', +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE = _descriptor.Descriptor( + name='GetIdentitiesByPublicKeyHashesResponse', + full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_history', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.data_contract_history', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORYENTRY, _GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORY, ], + nested_types=[_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY, _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES, _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -2083,76 +2948,34 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDataContractHistoryResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5949, - serialized_end=6413, + serialized_start=8949, + serialized_end=9659, ) -_GETDOCUMENTSREQUEST = _descriptor.Descriptor( - name='GetDocumentsRequest', - full_name='org.dash.platform.dapi.v0.GetDocumentsRequest', +_GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0 = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashRequestV0', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data_contract_id', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.data_contract_id', index=0, + name='public_key_hash', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.public_key_hash', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='document_type', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.document_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='where', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.where', index=2, - number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='order_by', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.order_by', index=3, - number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='limit', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.limit', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_after', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.start_after', index=5, - number=6, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start_at', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.start_at', index=6, - number=7, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.prove', index=7, - number=8, type=8, cpp_type=7, label=1, + name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -2168,36 +2991,30 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='start', full_name='org.dash.platform.dapi.v0.GetDocumentsRequest.start', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=6416, - serialized_end=6601, + serialized_start=9811, + serialized_end=9888, ) - -_GETDOCUMENTSRESPONSE_DOCUMENTS = _descriptor.Descriptor( - name='Documents', - full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.Documents', +_GETIDENTITYBYPUBLICKEYHASHREQUEST = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashRequest', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.documents', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -2205,35 +3022,41 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=6822, - serialized_end=6852, + serialized_start=9662, + serialized_end=9899, ) -_GETDOCUMENTSRESPONSE = _descriptor.Descriptor( - name='GetDocumentsResponse', - full_name='org.dash.platform.dapi.v0.GetDocumentsResponse', + +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0 = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashResponseV0', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='documents', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.documents', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='identity', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.identity', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.proof', index=1, + name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.proof', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.metadata', index=2, + name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.metadata', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -2242,7 +3065,7 @@ ], extensions=[ ], - nested_types=[_GETDOCUMENTSRESPONSE_DOCUMENTS, ], + nested_types=[], enum_types=[ ], serialized_options=None, @@ -2251,42 +3074,34 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetDocumentsResponse.result', + name='result', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6604, - serialized_end=6862, + serialized_start=10055, + serialized_end=10237, ) - -_GETIDENTITIESBYPUBLICKEYHASHESREQUEST = _descriptor.Descriptor( - name='GetIdentitiesByPublicKeyHashesRequest', - full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest', +_GETIDENTITYBYPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( + name='GetIdentityByPublicKeyHashResponse', + full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='public_key_hashes', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.public_key_hashes', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='v0', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -2294,24 +3109,36 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=6864, - serialized_end=6945, + serialized_start=9902, + serialized_end=10248, ) -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIES = _descriptor.Descriptor( - name='Identities', - full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities', +_WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0 = _descriptor.Descriptor( + name='WaitForStateTransitionResultRequestV0', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identities', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.identities', index=0, - number=1, type=12, cpp_type=9, label=3, - has_default_value=False, default_value=[], + name='state_transition_hash', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.state_transition_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2327,43 +3154,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7204, - serialized_end=7236, + serialized_start=10406, + serialized_end=10491, ) -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE = _descriptor.Descriptor( - name='GetIdentitiesByPublicKeyHashesResponse', - full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse', +_WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( + name='WaitForStateTransitionResultRequest', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identities', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.identities', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIES, ], + nested_types=[_WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -2372,35 +3185,42 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6948, - serialized_end=7246, + serialized_start=10251, + serialized_end=10502, ) -_GETIDENTITYBYPUBLICKEYHASHESREQUEST = _descriptor.Descriptor( - name='GetIdentityByPublicKeyHashesRequest', - full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest', +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0 = _descriptor.Descriptor( + name='WaitForStateTransitionResultResponseV0', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='public_key_hash', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.public_key_hash', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='error', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.error', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='proof', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2415,37 +3235,27 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=7248, - serialized_end=7325, + serialized_start=10664, + serialized_end=10903, ) - -_GETIDENTITYBYPUBLICKEYHASHESRESPONSE = _descriptor.Descriptor( - name='GetIdentityByPublicKeyHashesResponse', - full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse', +_WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( + name='WaitForStateTransitionResultResponse', + full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='identity', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.identity', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, + name='v0', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -2453,7 +3263,7 @@ ], extensions=[ ], - nested_types=[], + nested_types=[_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -2462,33 +3272,33 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7328, - serialized_end=7510, + serialized_start=10505, + serialized_end=10914, ) -_WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( - name='WaitForStateTransitionResultRequest', - full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest', +_GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0 = _descriptor.Descriptor( + name='GetConsensusParamsRequestV0', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='state_transition_hash', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.state_transition_hash', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", + name='height', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.height', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prove', index=1, + name='prove', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prove', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, @@ -2506,44 +3316,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7512, - serialized_end=7595, + serialized_start=11042, + serialized_end=11102, ) - -_WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( - name='WaitForStateTransitionResultResponse', - full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse', +_GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( + name='GetConsensusParamsRequest', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='error', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.error', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='proof', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.proof', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='metadata', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.metadata', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0, ], enum_types=[ ], serialized_options=None, @@ -2552,40 +3347,40 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='result', full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.result', + name='version', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.version', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7598, - serialized_end=7835, + serialized_start=10917, + serialized_end=11113, ) -_CONSENSUSPARAMSBLOCK = _descriptor.Descriptor( +_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK = _descriptor.Descriptor( name='ConsensusParamsBlock', - full_name='org.dash.platform.dapi.v0.ConsensusParamsBlock', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='max_bytes', full_name='org.dash.platform.dapi.v0.ConsensusParamsBlock.max_bytes', index=0, + name='max_bytes', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.max_bytes', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='max_gas', full_name='org.dash.platform.dapi.v0.ConsensusParamsBlock.max_gas', index=1, + name='max_gas', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.max_gas', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='time_iota_ms', full_name='org.dash.platform.dapi.v0.ConsensusParamsBlock.time_iota_ms', index=2, + name='time_iota_ms', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.time_iota_ms', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, @@ -2603,35 +3398,34 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7837, - serialized_end=7917, + serialized_start=11244, + serialized_end=11324, ) - -_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( +_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( name='ConsensusParamsEvidence', - full_name='org.dash.platform.dapi.v0.ConsensusParamsEvidence', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='max_age_num_blocks', full_name='org.dash.platform.dapi.v0.ConsensusParamsEvidence.max_age_num_blocks', index=0, + name='max_age_num_blocks', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_age_num_blocks', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='max_age_duration', full_name='org.dash.platform.dapi.v0.ConsensusParamsEvidence.max_age_duration', index=1, + name='max_age_duration', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_age_duration', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='max_bytes', full_name='org.dash.platform.dapi.v0.ConsensusParamsEvidence.max_bytes', index=2, + name='max_bytes', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.max_bytes', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, @@ -2649,30 +3443,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7919, - serialized_end=8017, + serialized_start=11326, + serialized_end=11424, ) - -_GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( - name='GetConsensusParamsRequest', - full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest', +_GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor( + name='GetConsensusParamsResponseV0', + full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='height', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.height', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, + name='block', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.block', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='prove', full_name='org.dash.platform.dapi.v0.GetConsensusParamsRequest.prove', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='evidence', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.evidence', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -2688,11 +3481,10 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8019, - serialized_end=8077, + serialized_start=11427, + serialized_end=11645, ) - _GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor( name='GetConsensusParamsResponse', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse', @@ -2702,23 +3494,16 @@ create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='block', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.block', index=0, + name='v0', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.v0', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='evidence', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.evidence', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], - nested_types=[], + nested_types=[_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK, _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE, _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -2726,54 +3511,96 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetConsensusParamsResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], - serialized_start=8080, - serialized_end=8242, + serialized_start=11116, + serialized_end=11656, ) -_GETIDENTITYRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYRESPONSE.fields_by_name['identity']) -_GETIDENTITYRESPONSE.fields_by_name['identity'].containing_oneof = _GETIDENTITYRESPONSE.oneofs_by_name['result'] -_GETIDENTITYRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYRESPONSE.fields_by_name['proof']) -_GETIDENTITYRESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITYRESPONSE.oneofs_by_name['result'] +_GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST +_GETIDENTITYREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0 +_GETIDENTITYREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYREQUEST.fields_by_name['v0']) +_GETIDENTITYREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYREQUEST.oneofs_by_name['version'] +_GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0.containing_type = _GETIDENTITYBALANCEREQUEST +_GETIDENTITYBALANCEREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0 +_GETIDENTITYBALANCEREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCEREQUEST.fields_by_name['v0']) +_GETIDENTITYBALANCEREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEREQUEST.oneofs_by_name['version'] +_GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0.containing_type = _GETIDENTITYBALANCEANDREVISIONREQUEST +_GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0 +_GETIDENTITYBALANCEANDREVISIONREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0']) +_GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONREQUEST.oneofs_by_name['version'] +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.containing_type = _GETIDENTITYRESPONSE +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['identity']) +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['identity'].containing_oneof = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof']) +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0 +_GETIDENTITYRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYRESPONSE.fields_by_name['v0']) +_GETIDENTITYRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYRESPONSE.oneofs_by_name['version'] +_GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0.containing_type = _GETIDENTITIESREQUEST +_GETIDENTITIESREQUEST.fields_by_name['v0'].message_type = _GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0 +_GETIDENTITIESREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITIESREQUEST.fields_by_name['v0']) +_GETIDENTITIESREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITIESREQUEST.oneofs_by_name['version'] _GETIDENTITIESRESPONSE_IDENTITYVALUE.containing_type = _GETIDENTITIESRESPONSE _GETIDENTITIESRESPONSE_IDENTITYENTRY.fields_by_name['value'].message_type = _GETIDENTITIESRESPONSE_IDENTITYVALUE _GETIDENTITIESRESPONSE_IDENTITYENTRY.containing_type = _GETIDENTITIESRESPONSE _GETIDENTITIESRESPONSE_IDENTITIES.fields_by_name['identity_entries'].message_type = _GETIDENTITIESRESPONSE_IDENTITYENTRY _GETIDENTITIESRESPONSE_IDENTITIES.containing_type = _GETIDENTITIESRESPONSE -_GETIDENTITIESRESPONSE.fields_by_name['identities'].message_type = _GETIDENTITIESRESPONSE_IDENTITIES -_GETIDENTITIESRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITIESRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITIESRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITIESRESPONSE.fields_by_name['identities']) -_GETIDENTITIESRESPONSE.fields_by_name['identities'].containing_oneof = _GETIDENTITIESRESPONSE.oneofs_by_name['result'] -_GETIDENTITIESRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITIESRESPONSE.fields_by_name['proof']) -_GETIDENTITIESRESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITIESRESPONSE.oneofs_by_name['result'] -_GETIDENTITYBALANCERESPONSE.fields_by_name['balance'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT64VALUE -_GETIDENTITYBALANCERESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYBALANCERESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYBALANCERESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCERESPONSE.fields_by_name['balance']) -_GETIDENTITYBALANCERESPONSE.fields_by_name['balance'].containing_oneof = _GETIDENTITYBALANCERESPONSE.oneofs_by_name['result'] -_GETIDENTITYBALANCERESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCERESPONSE.fields_by_name['proof']) -_GETIDENTITYBALANCERESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCERESPONSE.oneofs_by_name['result'] -_GETIDENTITYBALANCEANDREVISIONRESPONSE_BALANCEANDREVISION.fields_by_name['balance'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT64VALUE -_GETIDENTITYBALANCEANDREVISIONRESPONSE_BALANCEANDREVISION.fields_by_name['revision'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT64VALUE -_GETIDENTITYBALANCEANDREVISIONRESPONSE_BALANCEANDREVISION.containing_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE -_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['balance_and_revision'].message_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_BALANCEANDREVISION -_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['balance_and_revision']) -_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['balance_and_revision'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['result'] -_GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['proof']) -_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['result'] +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities'].message_type = _GETIDENTITIESRESPONSE_IDENTITIES +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.containing_type = _GETIDENTITIESRESPONSE +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities']) +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities'].containing_oneof = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof']) +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0 +_GETIDENTITIESRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITIESRESPONSE.fields_by_name['v0']) +_GETIDENTITIESRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITIESRESPONSE.oneofs_by_name['version'] +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.containing_type = _GETIDENTITYBALANCERESPONSE +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['balance']) +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['balance'].containing_oneof = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof']) +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCERESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0 +_GETIDENTITYBALANCERESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCERESPONSE.fields_by_name['v0']) +_GETIDENTITYBALANCERESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCERESPONSE.oneofs_by_name['version'] +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION.containing_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision'].message_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.containing_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision']) +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof']) +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 +_GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0']) +_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['version'] _KEYREQUESTTYPE.fields_by_name['all_keys'].message_type = _ALLKEYS _KEYREQUESTTYPE.fields_by_name['specific_keys'].message_type = _SPECIFICKEYS _KEYREQUESTTYPE.fields_by_name['search_key'].message_type = _SEARCHKEY @@ -2793,138 +3620,222 @@ _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY.containing_type = _SECURITYLEVELMAP _SECURITYLEVELMAP.fields_by_name['security_level_map'].message_type = _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY _SECURITYLEVELMAP_KEYKINDREQUESTTYPE.containing_type = _SECURITYLEVELMAP -_GETIDENTITYKEYSREQUEST.fields_by_name['request_type'].message_type = _KEYREQUESTTYPE -_GETIDENTITYKEYSREQUEST.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETIDENTITYKEYSREQUEST.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETIDENTITYKEYSRESPONSE_KEYS.containing_type = _GETIDENTITYKEYSRESPONSE -_GETIDENTITYKEYSRESPONSE.fields_by_name['keys'].message_type = _GETIDENTITYKEYSRESPONSE_KEYS -_GETIDENTITYKEYSRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYKEYSRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYKEYSRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYKEYSRESPONSE.fields_by_name['keys']) -_GETIDENTITYKEYSRESPONSE.fields_by_name['keys'].containing_oneof = _GETIDENTITYKEYSRESPONSE.oneofs_by_name['result'] -_GETIDENTITYKEYSRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYKEYSRESPONSE.fields_by_name['proof']) -_GETIDENTITYKEYSRESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITYKEYSRESPONSE.oneofs_by_name['result'] -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY.fields_by_name['value'].enum_type = _GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_KEYKINDREQUESTTYPE -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY.containing_type = _GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP.fields_by_name['security_level_map'].message_type = _GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP.containing_type = _GETIDENTITIESKEYSREQUEST -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_KEYKINDREQUESTTYPE.containing_type = _GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP -_GETIDENTITIESKEYSREQUEST.fields_by_name['request_type'].message_type = _KEYREQUESTTYPE -_GETIDENTITIESKEYSREQUEST.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETIDENTITIESKEYSREQUEST.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETIDENTITIESKEYSRESPONSE_PUBLICKEY.containing_type = _GETIDENTITIESKEYSRESPONSE -_GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRY.fields_by_name['value'].message_type = _GETIDENTITIESKEYSRESPONSE_PUBLICKEY -_GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRY.containing_type = _GETIDENTITIESKEYSRESPONSE -_GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRIES.fields_by_name['public_key_entries'].message_type = _GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRY -_GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRIES.containing_type = _GETIDENTITIESKEYSRESPONSE -_GETIDENTITIESKEYSRESPONSE.fields_by_name['public_keys'].message_type = _GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRIES -_GETIDENTITIESKEYSRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITIESKEYSRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITIESKEYSRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITIESKEYSRESPONSE.fields_by_name['public_keys']) -_GETIDENTITIESKEYSRESPONSE.fields_by_name['public_keys'].containing_oneof = _GETIDENTITIESKEYSRESPONSE.oneofs_by_name['result'] -_GETIDENTITIESKEYSRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITIESKEYSRESPONSE.fields_by_name['proof']) -_GETIDENTITIESKEYSRESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITIESKEYSRESPONSE.oneofs_by_name['result'] -_GETPROOFSREQUEST_DOCUMENTREQUEST.containing_type = _GETPROOFSREQUEST -_GETPROOFSREQUEST_IDENTITYREQUEST.fields_by_name['request_type'].enum_type = _GETPROOFSREQUEST_IDENTITYREQUEST_TYPE -_GETPROOFSREQUEST_IDENTITYREQUEST.containing_type = _GETPROOFSREQUEST -_GETPROOFSREQUEST_IDENTITYREQUEST_TYPE.containing_type = _GETPROOFSREQUEST_IDENTITYREQUEST -_GETPROOFSREQUEST_CONTRACTREQUEST.containing_type = _GETPROOFSREQUEST -_GETPROOFSREQUEST.fields_by_name['identities'].message_type = _GETPROOFSREQUEST_IDENTITYREQUEST -_GETPROOFSREQUEST.fields_by_name['contracts'].message_type = _GETPROOFSREQUEST_CONTRACTREQUEST -_GETPROOFSREQUEST.fields_by_name['documents'].message_type = _GETPROOFSREQUEST_DOCUMENTREQUEST -_GETPROOFSRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETPROOFSRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDATACONTRACTRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETDATACONTRACTRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDATACONTRACTRESPONSE.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTRESPONSE.fields_by_name['data_contract']) -_GETDATACONTRACTRESPONSE.fields_by_name['data_contract'].containing_oneof = _GETDATACONTRACTRESPONSE.oneofs_by_name['result'] -_GETDATACONTRACTRESPONSE.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTRESPONSE.fields_by_name['proof']) -_GETDATACONTRACTRESPONSE.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTRESPONSE.oneofs_by_name['result'] -_GETDATACONTRACTSRESPONSE_DATACONTRACTVALUE.containing_type = _GETDATACONTRACTSRESPONSE -_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY.fields_by_name['value'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTVALUE +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['request_type'].message_type = _KEYREQUESTTYPE +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.containing_type = _GETIDENTITYKEYSREQUEST +_GETIDENTITYKEYSREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0 +_GETIDENTITYKEYSREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYKEYSREQUEST.fields_by_name['v0']) +_GETIDENTITYKEYSREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYKEYSREQUEST.oneofs_by_name['version'] +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS.containing_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys'].message_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.containing_type = _GETIDENTITYKEYSRESPONSE +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys']) +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys'].containing_oneof = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof']) +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYKEYSRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 +_GETIDENTITYKEYSRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYKEYSRESPONSE.fields_by_name['v0']) +_GETIDENTITYKEYSRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYKEYSRESPONSE.oneofs_by_name['version'] +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST.fields_by_name['request_type'].enum_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['identities'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['contracts'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['documents'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.containing_type = _GETPROOFSREQUEST +_GETPROOFSREQUEST.fields_by_name['v0'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST.oneofs_by_name['version'].fields.append( + _GETPROOFSREQUEST.fields_by_name['v0']) +_GETPROOFSREQUEST.fields_by_name['v0'].containing_oneof = _GETPROOFSREQUEST.oneofs_by_name['version'] +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.containing_type = _GETPROOFSRESPONSE +_GETPROOFSRESPONSE.fields_by_name['v0'].message_type = _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0 +_GETPROOFSRESPONSE.oneofs_by_name['version'].fields.append( + _GETPROOFSRESPONSE.fields_by_name['v0']) +_GETPROOFSRESPONSE.fields_by_name['v0'].containing_oneof = _GETPROOFSRESPONSE.oneofs_by_name['version'] +_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0.containing_type = _GETDATACONTRACTREQUEST +_GETDATACONTRACTREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0 +_GETDATACONTRACTREQUEST.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTREQUEST.fields_by_name['v0']) +_GETDATACONTRACTREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTREQUEST.oneofs_by_name['version'] +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.containing_type = _GETDATACONTRACTRESPONSE +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['data_contract']) +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['data_contract'].containing_oneof = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof']) +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0 +_GETDATACONTRACTRESPONSE.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTRESPONSE.fields_by_name['v0']) +_GETDATACONTRACTRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTRESPONSE.oneofs_by_name['version'] +_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0.containing_type = _GETDATACONTRACTSREQUEST +_GETDATACONTRACTSREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0 +_GETDATACONTRACTSREQUEST.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTSREQUEST.fields_by_name['v0']) +_GETDATACONTRACTSREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTSREQUEST.oneofs_by_name['version'] +_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY.fields_by_name['data_contract'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE _GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY.containing_type = _GETDATACONTRACTSRESPONSE _GETDATACONTRACTSRESPONSE_DATACONTRACTS.fields_by_name['data_contract_entries'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY _GETDATACONTRACTSRESPONSE_DATACONTRACTS.containing_type = _GETDATACONTRACTSRESPONSE -_GETDATACONTRACTSRESPONSE.fields_by_name['data_contracts'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTS -_GETDATACONTRACTSRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETDATACONTRACTSRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDATACONTRACTSRESPONSE.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTSRESPONSE.fields_by_name['data_contracts']) -_GETDATACONTRACTSRESPONSE.fields_by_name['data_contracts'].containing_oneof = _GETDATACONTRACTSRESPONSE.oneofs_by_name['result'] -_GETDATACONTRACTSRESPONSE.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTSRESPONSE.fields_by_name['proof']) -_GETDATACONTRACTSRESPONSE.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTSRESPONSE.oneofs_by_name['result'] -_GETDATACONTRACTHISTORYREQUEST.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETDATACONTRACTHISTORYREQUEST.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORYENTRY.containing_type = _GETDATACONTRACTHISTORYRESPONSE -_GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORY.fields_by_name['data_contract_entries'].message_type = _GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORYENTRY -_GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORY.containing_type = _GETDATACONTRACTHISTORYRESPONSE -_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['data_contract_history'].message_type = _GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORY -_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTHISTORYRESPONSE.fields_by_name['data_contract_history']) -_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['data_contract_history'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['result'] -_GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTHISTORYRESPONSE.fields_by_name['proof']) -_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['result'] -_GETDOCUMENTSREQUEST.oneofs_by_name['start'].fields.append( - _GETDOCUMENTSREQUEST.fields_by_name['start_after']) -_GETDOCUMENTSREQUEST.fields_by_name['start_after'].containing_oneof = _GETDOCUMENTSREQUEST.oneofs_by_name['start'] -_GETDOCUMENTSREQUEST.oneofs_by_name['start'].fields.append( - _GETDOCUMENTSREQUEST.fields_by_name['start_at']) -_GETDOCUMENTSREQUEST.fields_by_name['start_at'].containing_oneof = _GETDOCUMENTSREQUEST.oneofs_by_name['start'] -_GETDOCUMENTSRESPONSE_DOCUMENTS.containing_type = _GETDOCUMENTSRESPONSE -_GETDOCUMENTSRESPONSE.fields_by_name['documents'].message_type = _GETDOCUMENTSRESPONSE_DOCUMENTS -_GETDOCUMENTSRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETDOCUMENTSRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDOCUMENTSRESPONSE.oneofs_by_name['result'].fields.append( - _GETDOCUMENTSRESPONSE.fields_by_name['documents']) -_GETDOCUMENTSRESPONSE.fields_by_name['documents'].containing_oneof = _GETDOCUMENTSRESPONSE.oneofs_by_name['result'] -_GETDOCUMENTSRESPONSE.oneofs_by_name['result'].fields.append( - _GETDOCUMENTSRESPONSE.fields_by_name['proof']) -_GETDOCUMENTSRESPONSE.fields_by_name['proof'].containing_oneof = _GETDOCUMENTSRESPONSE.oneofs_by_name['result'] -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIES.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['identities'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIES -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['identities']) -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['identities'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'] -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['proof']) -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'] -_GETIDENTITYBYPUBLICKEYHASHESRESPONSE.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYBYPUBLICKEYHASHESRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYBYPUBLICKEYHASHESRESPONSE.fields_by_name['identity']) -_GETIDENTITYBYPUBLICKEYHASHESRESPONSE.fields_by_name['identity'].containing_oneof = _GETIDENTITYBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'] -_GETIDENTITYBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'].fields.append( - _GETIDENTITYBYPUBLICKEYHASHESRESPONSE.fields_by_name['proof']) -_GETIDENTITYBYPUBLICKEYHASHESRESPONSE.fields_by_name['proof'].containing_oneof = _GETIDENTITYBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['result'] -_WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['error'].message_type = _STATETRANSITIONBROADCASTERROR -_WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['proof'].message_type = _PROOF -_WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_WAITFORSTATETRANSITIONRESULTRESPONSE.oneofs_by_name['result'].fields.append( - _WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['error']) -_WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['error'].containing_oneof = _WAITFORSTATETRANSITIONRESULTRESPONSE.oneofs_by_name['result'] -_WAITFORSTATETRANSITIONRESULTRESPONSE.oneofs_by_name['result'].fields.append( - _WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['proof']) -_WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['proof'].containing_oneof = _WAITFORSTATETRANSITIONRESULTRESPONSE.oneofs_by_name['result'] -_GETCONSENSUSPARAMSRESPONSE.fields_by_name['block'].message_type = _CONSENSUSPARAMSBLOCK -_GETCONSENSUSPARAMSRESPONSE.fields_by_name['evidence'].message_type = _CONSENSUSPARAMSEVIDENCE +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTS +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.containing_type = _GETDATACONTRACTSRESPONSE +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts']) +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts'].containing_oneof = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof']) +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTSRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 +_GETDATACONTRACTSRESPONSE.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTSRESPONSE.fields_by_name['v0']) +_GETDATACONTRACTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTSRESPONSE.oneofs_by_name['version'] +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.containing_type = _GETDATACONTRACTHISTORYREQUEST +_GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0 +_GETDATACONTRACTHISTORYREQUEST.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0']) +_GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTHISTORYREQUEST.oneofs_by_name['version'] +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY.containing_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY.fields_by_name['data_contract_entries'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY.containing_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.containing_type = _GETDATACONTRACTHISTORYRESPONSE +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history']) +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof']) +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 +_GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0']) +_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['version'] +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.containing_type = _GETDOCUMENTSREQUEST +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'].fields.append( + _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_after']) +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_after'].containing_oneof = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'] +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'].fields.append( + _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_at']) +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_at'].containing_oneof = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'] +_GETDOCUMENTSREQUEST.fields_by_name['v0'].message_type = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 +_GETDOCUMENTSREQUEST.oneofs_by_name['version'].fields.append( + _GETDOCUMENTSREQUEST.fields_by_name['v0']) +_GETDOCUMENTSREQUEST.fields_by_name['v0'].containing_oneof = _GETDOCUMENTSREQUEST.oneofs_by_name['version'] +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS.containing_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents'].message_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.containing_type = _GETDOCUMENTSRESPONSE +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents']) +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents'].containing_oneof = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'] +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof']) +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'] +_GETDOCUMENTSRESPONSE.fields_by_name['v0'].message_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 +_GETDOCUMENTSRESPONSE.oneofs_by_name['version'].fields.append( + _GETDOCUMENTSRESPONSE.fields_by_name['v0']) +_GETDOCUMENTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETDOCUMENTSRESPONSE.oneofs_by_name['version'] +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0 +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0']) +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST.oneofs_by_name['version'] +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES.fields_by_name['identity_entries'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities']) +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['proof']) +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0 +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['v0']) +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE.oneofs_by_name['version'] +_GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0.containing_type = _GETIDENTITYBYPUBLICKEYHASHREQUEST +_GETIDENTITYBYPUBLICKEYHASHREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0 +_GETIDENTITYBYPUBLICKEYHASHREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYBYPUBLICKEYHASHREQUEST.fields_by_name['v0']) +_GETIDENTITYBYPUBLICKEYHASHREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBYPUBLICKEYHASHREQUEST.oneofs_by_name['version'] +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.containing_type = _GETIDENTITYBYPUBLICKEYHASHRESPONSE +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.fields_by_name['identity']) +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.fields_by_name['identity'].containing_oneof = _GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.fields_by_name['proof']) +_GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBYPUBLICKEYHASHRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0 +_GETIDENTITYBYPUBLICKEYHASHRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYBYPUBLICKEYHASHRESPONSE.fields_by_name['v0']) +_GETIDENTITYBYPUBLICKEYHASHRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBYPUBLICKEYHASHRESPONSE.oneofs_by_name['version'] +_WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0.containing_type = _WAITFORSTATETRANSITIONRESULTREQUEST +_WAITFORSTATETRANSITIONRESULTREQUEST.fields_by_name['v0'].message_type = _WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0 +_WAITFORSTATETRANSITIONRESULTREQUEST.oneofs_by_name['version'].fields.append( + _WAITFORSTATETRANSITIONRESULTREQUEST.fields_by_name['v0']) +_WAITFORSTATETRANSITIONRESULTREQUEST.fields_by_name['v0'].containing_oneof = _WAITFORSTATETRANSITIONRESULTREQUEST.oneofs_by_name['version'] +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.fields_by_name['error'].message_type = _STATETRANSITIONBROADCASTERROR +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.containing_type = _WAITFORSTATETRANSITIONRESULTRESPONSE +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.oneofs_by_name['result'].fields.append( + _WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.fields_by_name['error']) +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.fields_by_name['error'].containing_oneof = _WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.oneofs_by_name['result'] +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.oneofs_by_name['result'].fields.append( + _WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.fields_by_name['proof']) +_WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.fields_by_name['proof'].containing_oneof = _WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0.oneofs_by_name['result'] +_WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['v0'].message_type = _WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0 +_WAITFORSTATETRANSITIONRESULTRESPONSE.oneofs_by_name['version'].fields.append( + _WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['v0']) +_WAITFORSTATETRANSITIONRESULTRESPONSE.fields_by_name['v0'].containing_oneof = _WAITFORSTATETRANSITIONRESULTRESPONSE.oneofs_by_name['version'] +_GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0.containing_type = _GETCONSENSUSPARAMSREQUEST +_GETCONSENSUSPARAMSREQUEST.fields_by_name['v0'].message_type = _GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0 +_GETCONSENSUSPARAMSREQUEST.oneofs_by_name['version'].fields.append( + _GETCONSENSUSPARAMSREQUEST.fields_by_name['v0']) +_GETCONSENSUSPARAMSREQUEST.fields_by_name['v0'].containing_oneof = _GETCONSENSUSPARAMSREQUEST.oneofs_by_name['version'] +_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK.containing_type = _GETCONSENSUSPARAMSRESPONSE +_GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE.containing_type = _GETCONSENSUSPARAMSRESPONSE +_GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0.fields_by_name['block'].message_type = _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK +_GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0.fields_by_name['evidence'].message_type = _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE +_GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0.containing_type = _GETCONSENSUSPARAMSRESPONSE +_GETCONSENSUSPARAMSRESPONSE.fields_by_name['v0'].message_type = _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 +_GETCONSENSUSPARAMSRESPONSE.oneofs_by_name['version'].fields.append( + _GETCONSENSUSPARAMSRESPONSE.fields_by_name['v0']) +_GETCONSENSUSPARAMSRESPONSE.fields_by_name['v0'].containing_oneof = _GETCONSENSUSPARAMSRESPONSE.oneofs_by_name['version'] DESCRIPTOR.message_types_by_name['Proof'] = _PROOF DESCRIPTOR.message_types_by_name['ResponseMetadata'] = _RESPONSEMETADATA DESCRIPTOR.message_types_by_name['StateTransitionBroadcastError'] = _STATETRANSITIONBROADCASTERROR DESCRIPTOR.message_types_by_name['BroadcastStateTransitionRequest'] = _BROADCASTSTATETRANSITIONREQUEST DESCRIPTOR.message_types_by_name['BroadcastStateTransitionResponse'] = _BROADCASTSTATETRANSITIONRESPONSE DESCRIPTOR.message_types_by_name['GetIdentityRequest'] = _GETIDENTITYREQUEST +DESCRIPTOR.message_types_by_name['GetIdentityBalanceRequest'] = _GETIDENTITYBALANCEREQUEST +DESCRIPTOR.message_types_by_name['GetIdentityBalanceAndRevisionRequest'] = _GETIDENTITYBALANCEANDREVISIONREQUEST DESCRIPTOR.message_types_by_name['GetIdentityResponse'] = _GETIDENTITYRESPONSE DESCRIPTOR.message_types_by_name['GetIdentitiesRequest'] = _GETIDENTITIESREQUEST DESCRIPTOR.message_types_by_name['GetIdentitiesResponse'] = _GETIDENTITIESRESPONSE @@ -2937,8 +3848,6 @@ DESCRIPTOR.message_types_by_name['SecurityLevelMap'] = _SECURITYLEVELMAP DESCRIPTOR.message_types_by_name['GetIdentityKeysRequest'] = _GETIDENTITYKEYSREQUEST DESCRIPTOR.message_types_by_name['GetIdentityKeysResponse'] = _GETIDENTITYKEYSRESPONSE -DESCRIPTOR.message_types_by_name['GetIdentitiesKeysRequest'] = _GETIDENTITIESKEYSREQUEST -DESCRIPTOR.message_types_by_name['GetIdentitiesKeysResponse'] = _GETIDENTITIESKEYSRESPONSE DESCRIPTOR.message_types_by_name['GetProofsRequest'] = _GETPROOFSREQUEST DESCRIPTOR.message_types_by_name['GetProofsResponse'] = _GETPROOFSRESPONSE DESCRIPTOR.message_types_by_name['GetDataContractRequest'] = _GETDATACONTRACTREQUEST @@ -2951,12 +3860,10 @@ DESCRIPTOR.message_types_by_name['GetDocumentsResponse'] = _GETDOCUMENTSRESPONSE DESCRIPTOR.message_types_by_name['GetIdentitiesByPublicKeyHashesRequest'] = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST DESCRIPTOR.message_types_by_name['GetIdentitiesByPublicKeyHashesResponse'] = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE -DESCRIPTOR.message_types_by_name['GetIdentityByPublicKeyHashesRequest'] = _GETIDENTITYBYPUBLICKEYHASHESREQUEST -DESCRIPTOR.message_types_by_name['GetIdentityByPublicKeyHashesResponse'] = _GETIDENTITYBYPUBLICKEYHASHESRESPONSE +DESCRIPTOR.message_types_by_name['GetIdentityByPublicKeyHashRequest'] = _GETIDENTITYBYPUBLICKEYHASHREQUEST +DESCRIPTOR.message_types_by_name['GetIdentityByPublicKeyHashResponse'] = _GETIDENTITYBYPUBLICKEYHASHRESPONSE DESCRIPTOR.message_types_by_name['WaitForStateTransitionResultRequest'] = _WAITFORSTATETRANSITIONRESULTREQUEST DESCRIPTOR.message_types_by_name['WaitForStateTransitionResultResponse'] = _WAITFORSTATETRANSITIONRESULTRESPONSE -DESCRIPTOR.message_types_by_name['ConsensusParamsBlock'] = _CONSENSUSPARAMSBLOCK -DESCRIPTOR.message_types_by_name['ConsensusParamsEvidence'] = _CONSENSUSPARAMSEVIDENCE DESCRIPTOR.message_types_by_name['GetConsensusParamsRequest'] = _GETCONSENSUSPARAMSREQUEST DESCRIPTOR.message_types_by_name['GetConsensusParamsResponse'] = _GETCONSENSUSPARAMSRESPONSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -2997,25 +3904,79 @@ _sym_db.RegisterMessage(BroadcastStateTransitionResponse) GetIdentityRequest = _reflection.GeneratedProtocolMessageType('GetIdentityRequest', (_message.Message,), { + + 'GetIdentityRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentityRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0) + }) + , 'DESCRIPTOR' : _GETIDENTITYREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityRequest) }) _sym_db.RegisterMessage(GetIdentityRequest) +_sym_db.RegisterMessage(GetIdentityRequest.GetIdentityRequestV0) + +GetIdentityBalanceRequest = _reflection.GeneratedProtocolMessageType('GetIdentityBalanceRequest', (_message.Message,), { + + 'GetIdentityBalanceRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentityBalanceRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0) + }) + , + 'DESCRIPTOR' : _GETIDENTITYBALANCEREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceRequest) + }) +_sym_db.RegisterMessage(GetIdentityBalanceRequest) +_sym_db.RegisterMessage(GetIdentityBalanceRequest.GetIdentityBalanceRequestV0) + +GetIdentityBalanceAndRevisionRequest = _reflection.GeneratedProtocolMessageType('GetIdentityBalanceAndRevisionRequest', (_message.Message,), { + + 'GetIdentityBalanceAndRevisionRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentityBalanceAndRevisionRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0) + }) + , + 'DESCRIPTOR' : _GETIDENTITYBALANCEANDREVISIONREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest) + }) +_sym_db.RegisterMessage(GetIdentityBalanceAndRevisionRequest) +_sym_db.RegisterMessage(GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0) GetIdentityResponse = _reflection.GeneratedProtocolMessageType('GetIdentityResponse', (_message.Message,), { + + 'GetIdentityResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentityResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0) + }) + , 'DESCRIPTOR' : _GETIDENTITYRESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityResponse) }) _sym_db.RegisterMessage(GetIdentityResponse) +_sym_db.RegisterMessage(GetIdentityResponse.GetIdentityResponseV0) GetIdentitiesRequest = _reflection.GeneratedProtocolMessageType('GetIdentitiesRequest', (_message.Message,), { + + 'GetIdentitiesRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentitiesRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0) + }) + , 'DESCRIPTOR' : _GETIDENTITIESREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesRequest) }) _sym_db.RegisterMessage(GetIdentitiesRequest) +_sym_db.RegisterMessage(GetIdentitiesRequest.GetIdentitiesRequestV0) GetIdentitiesResponse = _reflection.GeneratedProtocolMessageType('GetIdentitiesResponse', (_message.Message,), { @@ -3039,6 +4000,13 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities) }) , + + 'GetIdentitiesResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentitiesResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0) + }) + , 'DESCRIPTOR' : _GETIDENTITIESRESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesResponse) @@ -3047,20 +4015,36 @@ _sym_db.RegisterMessage(GetIdentitiesResponse.IdentityValue) _sym_db.RegisterMessage(GetIdentitiesResponse.IdentityEntry) _sym_db.RegisterMessage(GetIdentitiesResponse.Identities) +_sym_db.RegisterMessage(GetIdentitiesResponse.GetIdentitiesResponseV0) GetIdentityBalanceResponse = _reflection.GeneratedProtocolMessageType('GetIdentityBalanceResponse', (_message.Message,), { + + 'GetIdentityBalanceResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentityBalanceResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0) + }) + , 'DESCRIPTOR' : _GETIDENTITYBALANCERESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceResponse) }) _sym_db.RegisterMessage(GetIdentityBalanceResponse) +_sym_db.RegisterMessage(GetIdentityBalanceResponse.GetIdentityBalanceResponseV0) GetIdentityBalanceAndRevisionResponse = _reflection.GeneratedProtocolMessageType('GetIdentityBalanceAndRevisionResponse', (_message.Message,), { - 'BalanceAndRevision' : _reflection.GeneratedProtocolMessageType('BalanceAndRevision', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITYBALANCEANDREVISIONRESPONSE_BALANCEANDREVISION, + 'GetIdentityBalanceAndRevisionResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentityBalanceAndRevisionResponseV0', (_message.Message,), { + + 'BalanceAndRevision' : _reflection.GeneratedProtocolMessageType('BalanceAndRevision', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision) + }) + , + 'DESCRIPTOR' : _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0) }) , 'DESCRIPTOR' : _GETIDENTITYBALANCEANDREVISIONRESPONSE, @@ -3068,7 +4052,8 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse) }) _sym_db.RegisterMessage(GetIdentityBalanceAndRevisionResponse) -_sym_db.RegisterMessage(GetIdentityBalanceAndRevisionResponse.BalanceAndRevision) +_sym_db.RegisterMessage(GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0) +_sym_db.RegisterMessage(GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision) KeyRequestType = _reflection.GeneratedProtocolMessageType('KeyRequestType', (_message.Message,), { 'DESCRIPTOR' : _KEYREQUESTTYPE, @@ -3122,18 +4107,33 @@ _sym_db.RegisterMessage(SecurityLevelMap.SecurityLevelMapEntry) GetIdentityKeysRequest = _reflection.GeneratedProtocolMessageType('GetIdentityKeysRequest', (_message.Message,), { + + 'GetIdentityKeysRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentityKeysRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0) + }) + , 'DESCRIPTOR' : _GETIDENTITYKEYSREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityKeysRequest) }) _sym_db.RegisterMessage(GetIdentityKeysRequest) +_sym_db.RegisterMessage(GetIdentityKeysRequest.GetIdentityKeysRequestV0) GetIdentityKeysResponse = _reflection.GeneratedProtocolMessageType('GetIdentityKeysResponse', (_message.Message,), { - 'Keys' : _reflection.GeneratedProtocolMessageType('Keys', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITYKEYSRESPONSE_KEYS, + 'GetIdentityKeysResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentityKeysResponseV0', (_message.Message,), { + + 'Keys' : _reflection.GeneratedProtocolMessageType('Keys', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys) + }) + , + 'DESCRIPTOR' : _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0) }) , 'DESCRIPTOR' : _GETIDENTITYKEYSRESPONSE, @@ -3141,82 +4141,36 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityKeysResponse) }) _sym_db.RegisterMessage(GetIdentityKeysResponse) -_sym_db.RegisterMessage(GetIdentityKeysResponse.Keys) +_sym_db.RegisterMessage(GetIdentityKeysResponse.GetIdentityKeysResponseV0) +_sym_db.RegisterMessage(GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys) -GetIdentitiesKeysRequest = _reflection.GeneratedProtocolMessageType('GetIdentitiesKeysRequest', (_message.Message,), { +GetProofsRequest = _reflection.GeneratedProtocolMessageType('GetProofsRequest', (_message.Message,), { - 'SecurityLevelMap' : _reflection.GeneratedProtocolMessageType('SecurityLevelMap', (_message.Message,), { + 'GetProofsRequestV0' : _reflection.GeneratedProtocolMessageType('GetProofsRequestV0', (_message.Message,), { - 'SecurityLevelMapEntry' : _reflection.GeneratedProtocolMessageType('SecurityLevelMapEntry', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY, + 'DocumentRequest' : _reflection.GeneratedProtocolMessageType('DocumentRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.SecurityLevelMapEntry) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest) }) , - 'DESCRIPTOR' : _GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap) - }) - , - 'DESCRIPTOR' : _GETIDENTITIESKEYSREQUEST, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesKeysRequest) - }) -_sym_db.RegisterMessage(GetIdentitiesKeysRequest) -_sym_db.RegisterMessage(GetIdentitiesKeysRequest.SecurityLevelMap) -_sym_db.RegisterMessage(GetIdentitiesKeysRequest.SecurityLevelMap.SecurityLevelMapEntry) - -GetIdentitiesKeysResponse = _reflection.GeneratedProtocolMessageType('GetIdentitiesKeysResponse', (_message.Message,), { - 'PublicKey' : _reflection.GeneratedProtocolMessageType('PublicKey', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITIESKEYSRESPONSE_PUBLICKEY, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey) - }) - , - - 'PublicKeyEntry' : _reflection.GeneratedProtocolMessageType('PublicKeyEntry', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRY, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry) - }) - , - - 'PublicKeyEntries' : _reflection.GeneratedProtocolMessageType('PublicKeyEntries', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITIESKEYSRESPONSE_PUBLICKEYENTRIES, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries) - }) - , - 'DESCRIPTOR' : _GETIDENTITIESKEYSRESPONSE, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesKeysResponse) - }) -_sym_db.RegisterMessage(GetIdentitiesKeysResponse) -_sym_db.RegisterMessage(GetIdentitiesKeysResponse.PublicKey) -_sym_db.RegisterMessage(GetIdentitiesKeysResponse.PublicKeyEntry) -_sym_db.RegisterMessage(GetIdentitiesKeysResponse.PublicKeyEntries) - -GetProofsRequest = _reflection.GeneratedProtocolMessageType('GetProofsRequest', (_message.Message,), { - - 'DocumentRequest' : _reflection.GeneratedProtocolMessageType('DocumentRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETPROOFSREQUEST_DOCUMENTREQUEST, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest) - }) - , - - 'IdentityRequest' : _reflection.GeneratedProtocolMessageType('IdentityRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETPROOFSREQUEST_IDENTITYREQUEST, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest) - }) - , + 'IdentityRequest' : _reflection.GeneratedProtocolMessageType('IdentityRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest) + }) + , - 'ContractRequest' : _reflection.GeneratedProtocolMessageType('ContractRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETPROOFSREQUEST_CONTRACTREQUEST, + 'ContractRequest' : _reflection.GeneratedProtocolMessageType('ContractRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest) + }) + , + 'DESCRIPTOR' : _GETPROOFSREQUEST_GETPROOFSREQUESTV0, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0) }) , 'DESCRIPTOR' : _GETPROOFSREQUEST, @@ -3224,47 +4178,73 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsRequest) }) _sym_db.RegisterMessage(GetProofsRequest) -_sym_db.RegisterMessage(GetProofsRequest.DocumentRequest) -_sym_db.RegisterMessage(GetProofsRequest.IdentityRequest) -_sym_db.RegisterMessage(GetProofsRequest.ContractRequest) +_sym_db.RegisterMessage(GetProofsRequest.GetProofsRequestV0) +_sym_db.RegisterMessage(GetProofsRequest.GetProofsRequestV0.DocumentRequest) +_sym_db.RegisterMessage(GetProofsRequest.GetProofsRequestV0.IdentityRequest) +_sym_db.RegisterMessage(GetProofsRequest.GetProofsRequestV0.ContractRequest) GetProofsResponse = _reflection.GeneratedProtocolMessageType('GetProofsResponse', (_message.Message,), { + + 'GetProofsResponseV0' : _reflection.GeneratedProtocolMessageType('GetProofsResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0) + }) + , 'DESCRIPTOR' : _GETPROOFSRESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetProofsResponse) }) _sym_db.RegisterMessage(GetProofsResponse) +_sym_db.RegisterMessage(GetProofsResponse.GetProofsResponseV0) GetDataContractRequest = _reflection.GeneratedProtocolMessageType('GetDataContractRequest', (_message.Message,), { + + 'GetDataContractRequestV0' : _reflection.GeneratedProtocolMessageType('GetDataContractRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0) + }) + , 'DESCRIPTOR' : _GETDATACONTRACTREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractRequest) }) _sym_db.RegisterMessage(GetDataContractRequest) +_sym_db.RegisterMessage(GetDataContractRequest.GetDataContractRequestV0) GetDataContractResponse = _reflection.GeneratedProtocolMessageType('GetDataContractResponse', (_message.Message,), { + + 'GetDataContractResponseV0' : _reflection.GeneratedProtocolMessageType('GetDataContractResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0) + }) + , 'DESCRIPTOR' : _GETDATACONTRACTRESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractResponse) }) _sym_db.RegisterMessage(GetDataContractResponse) +_sym_db.RegisterMessage(GetDataContractResponse.GetDataContractResponseV0) GetDataContractsRequest = _reflection.GeneratedProtocolMessageType('GetDataContractsRequest', (_message.Message,), { + + 'GetDataContractsRequestV0' : _reflection.GeneratedProtocolMessageType('GetDataContractsRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0) + }) + , 'DESCRIPTOR' : _GETDATACONTRACTSREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractsRequest) }) _sym_db.RegisterMessage(GetDataContractsRequest) +_sym_db.RegisterMessage(GetDataContractsRequest.GetDataContractsRequestV0) GetDataContractsResponse = _reflection.GeneratedProtocolMessageType('GetDataContractsResponse', (_message.Message,), { - 'DataContractValue' : _reflection.GeneratedProtocolMessageType('DataContractValue', (_message.Message,), { - 'DESCRIPTOR' : _GETDATACONTRACTSRESPONSE_DATACONTRACTVALUE, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue) - }) - , - 'DataContractEntry' : _reflection.GeneratedProtocolMessageType('DataContractEntry', (_message.Message,), { 'DESCRIPTOR' : _GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY, '__module__' : 'platform_pb2' @@ -3278,35 +4258,57 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts) }) , + + 'GetDataContractsResponseV0' : _reflection.GeneratedProtocolMessageType('GetDataContractsResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0) + }) + , 'DESCRIPTOR' : _GETDATACONTRACTSRESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractsResponse) }) _sym_db.RegisterMessage(GetDataContractsResponse) -_sym_db.RegisterMessage(GetDataContractsResponse.DataContractValue) _sym_db.RegisterMessage(GetDataContractsResponse.DataContractEntry) _sym_db.RegisterMessage(GetDataContractsResponse.DataContracts) +_sym_db.RegisterMessage(GetDataContractsResponse.GetDataContractsResponseV0) GetDataContractHistoryRequest = _reflection.GeneratedProtocolMessageType('GetDataContractHistoryRequest', (_message.Message,), { + + 'GetDataContractHistoryRequestV0' : _reflection.GeneratedProtocolMessageType('GetDataContractHistoryRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0) + }) + , 'DESCRIPTOR' : _GETDATACONTRACTHISTORYREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryRequest) }) _sym_db.RegisterMessage(GetDataContractHistoryRequest) +_sym_db.RegisterMessage(GetDataContractHistoryRequest.GetDataContractHistoryRequestV0) GetDataContractHistoryResponse = _reflection.GeneratedProtocolMessageType('GetDataContractHistoryResponse', (_message.Message,), { - 'DataContractHistoryEntry' : _reflection.GeneratedProtocolMessageType('DataContractHistoryEntry', (_message.Message,), { - 'DESCRIPTOR' : _GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORYENTRY, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry) - }) - , + 'GetDataContractHistoryResponseV0' : _reflection.GeneratedProtocolMessageType('GetDataContractHistoryResponseV0', (_message.Message,), { + + 'DataContractHistoryEntry' : _reflection.GeneratedProtocolMessageType('DataContractHistoryEntry', (_message.Message,), { + 'DESCRIPTOR' : _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry) + }) + , - 'DataContractHistory' : _reflection.GeneratedProtocolMessageType('DataContractHistory', (_message.Message,), { - 'DESCRIPTOR' : _GETDATACONTRACTHISTORYRESPONSE_DATACONTRACTHISTORY, + 'DataContractHistory' : _reflection.GeneratedProtocolMessageType('DataContractHistory', (_message.Message,), { + 'DESCRIPTOR' : _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory) + }) + , + 'DESCRIPTOR' : _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0) }) , 'DESCRIPTOR' : _GETDATACONTRACTHISTORYRESPONSE, @@ -3314,22 +4316,38 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDataContractHistoryResponse) }) _sym_db.RegisterMessage(GetDataContractHistoryResponse) -_sym_db.RegisterMessage(GetDataContractHistoryResponse.DataContractHistoryEntry) -_sym_db.RegisterMessage(GetDataContractHistoryResponse.DataContractHistory) +_sym_db.RegisterMessage(GetDataContractHistoryResponse.GetDataContractHistoryResponseV0) +_sym_db.RegisterMessage(GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry) +_sym_db.RegisterMessage(GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory) GetDocumentsRequest = _reflection.GeneratedProtocolMessageType('GetDocumentsRequest', (_message.Message,), { + + 'GetDocumentsRequestV0' : _reflection.GeneratedProtocolMessageType('GetDocumentsRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0) + }) + , 'DESCRIPTOR' : _GETDOCUMENTSREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDocumentsRequest) }) _sym_db.RegisterMessage(GetDocumentsRequest) +_sym_db.RegisterMessage(GetDocumentsRequest.GetDocumentsRequestV0) GetDocumentsResponse = _reflection.GeneratedProtocolMessageType('GetDocumentsResponse', (_message.Message,), { - 'Documents' : _reflection.GeneratedProtocolMessageType('Documents', (_message.Message,), { - 'DESCRIPTOR' : _GETDOCUMENTSRESPONSE_DOCUMENTS, + 'GetDocumentsResponseV0' : _reflection.GeneratedProtocolMessageType('GetDocumentsResponseV0', (_message.Message,), { + + 'Documents' : _reflection.GeneratedProtocolMessageType('Documents', (_message.Message,), { + 'DESCRIPTOR' : _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents) + }) + , + 'DESCRIPTOR' : _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDocumentsResponse.Documents) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0) }) , 'DESCRIPTOR' : _GETDOCUMENTSRESPONSE, @@ -3337,21 +4355,44 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetDocumentsResponse) }) _sym_db.RegisterMessage(GetDocumentsResponse) -_sym_db.RegisterMessage(GetDocumentsResponse.Documents) +_sym_db.RegisterMessage(GetDocumentsResponse.GetDocumentsResponseV0) +_sym_db.RegisterMessage(GetDocumentsResponse.GetDocumentsResponseV0.Documents) GetIdentitiesByPublicKeyHashesRequest = _reflection.GeneratedProtocolMessageType('GetIdentitiesByPublicKeyHashesRequest', (_message.Message,), { + + 'GetIdentitiesByPublicKeyHashesRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentitiesByPublicKeyHashesRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0) + }) + , 'DESCRIPTOR' : _GETIDENTITIESBYPUBLICKEYHASHESREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest) }) _sym_db.RegisterMessage(GetIdentitiesByPublicKeyHashesRequest) +_sym_db.RegisterMessage(GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0) GetIdentitiesByPublicKeyHashesResponse = _reflection.GeneratedProtocolMessageType('GetIdentitiesByPublicKeyHashesResponse', (_message.Message,), { - 'Identities' : _reflection.GeneratedProtocolMessageType('Identities', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIES, + 'PublicKeyHashIdentityEntry' : _reflection.GeneratedProtocolMessageType('PublicKeyHashIdentityEntry', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry) + }) + , + + 'IdentitiesByPublicKeyHashes' : _reflection.GeneratedProtocolMessageType('IdentitiesByPublicKeyHashes', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes) + }) + , + + 'GetIdentitiesByPublicKeyHashesResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentitiesByPublicKeyHashesResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0) }) , 'DESCRIPTOR' : _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE, @@ -3359,68 +4400,119 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse) }) _sym_db.RegisterMessage(GetIdentitiesByPublicKeyHashesResponse) -_sym_db.RegisterMessage(GetIdentitiesByPublicKeyHashesResponse.Identities) +_sym_db.RegisterMessage(GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry) +_sym_db.RegisterMessage(GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes) +_sym_db.RegisterMessage(GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0) -GetIdentityByPublicKeyHashesRequest = _reflection.GeneratedProtocolMessageType('GetIdentityByPublicKeyHashesRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITYBYPUBLICKEYHASHESREQUEST, +GetIdentityByPublicKeyHashRequest = _reflection.GeneratedProtocolMessageType('GetIdentityByPublicKeyHashRequest', (_message.Message,), { + + 'GetIdentityByPublicKeyHashRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentityByPublicKeyHashRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYBYPUBLICKEYHASHREQUEST_GETIDENTITYBYPUBLICKEYHASHREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0) + }) + , + 'DESCRIPTOR' : _GETIDENTITYBYPUBLICKEYHASHREQUEST, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest) }) -_sym_db.RegisterMessage(GetIdentityByPublicKeyHashesRequest) +_sym_db.RegisterMessage(GetIdentityByPublicKeyHashRequest) +_sym_db.RegisterMessage(GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0) -GetIdentityByPublicKeyHashesResponse = _reflection.GeneratedProtocolMessageType('GetIdentityByPublicKeyHashesResponse', (_message.Message,), { - 'DESCRIPTOR' : _GETIDENTITYBYPUBLICKEYHASHESRESPONSE, +GetIdentityByPublicKeyHashResponse = _reflection.GeneratedProtocolMessageType('GetIdentityByPublicKeyHashResponse', (_message.Message,), { + + 'GetIdentityByPublicKeyHashResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentityByPublicKeyHashResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETIDENTITYBYPUBLICKEYHASHRESPONSE_GETIDENTITYBYPUBLICKEYHASHRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0) + }) + , + 'DESCRIPTOR' : _GETIDENTITYBYPUBLICKEYHASHRESPONSE, '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse) + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse) }) -_sym_db.RegisterMessage(GetIdentityByPublicKeyHashesResponse) +_sym_db.RegisterMessage(GetIdentityByPublicKeyHashResponse) +_sym_db.RegisterMessage(GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0) WaitForStateTransitionResultRequest = _reflection.GeneratedProtocolMessageType('WaitForStateTransitionResultRequest', (_message.Message,), { + + 'WaitForStateTransitionResultRequestV0' : _reflection.GeneratedProtocolMessageType('WaitForStateTransitionResultRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0) + }) + , 'DESCRIPTOR' : _WAITFORSTATETRANSITIONRESULTREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest) }) _sym_db.RegisterMessage(WaitForStateTransitionResultRequest) +_sym_db.RegisterMessage(WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0) WaitForStateTransitionResultResponse = _reflection.GeneratedProtocolMessageType('WaitForStateTransitionResultResponse', (_message.Message,), { + + 'WaitForStateTransitionResultResponseV0' : _reflection.GeneratedProtocolMessageType('WaitForStateTransitionResultResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _WAITFORSTATETRANSITIONRESULTRESPONSE_WAITFORSTATETRANSITIONRESULTRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0) + }) + , 'DESCRIPTOR' : _WAITFORSTATETRANSITIONRESULTRESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse) }) _sym_db.RegisterMessage(WaitForStateTransitionResultResponse) - -ConsensusParamsBlock = _reflection.GeneratedProtocolMessageType('ConsensusParamsBlock', (_message.Message,), { - 'DESCRIPTOR' : _CONSENSUSPARAMSBLOCK, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.ConsensusParamsBlock) - }) -_sym_db.RegisterMessage(ConsensusParamsBlock) - -ConsensusParamsEvidence = _reflection.GeneratedProtocolMessageType('ConsensusParamsEvidence', (_message.Message,), { - 'DESCRIPTOR' : _CONSENSUSPARAMSEVIDENCE, - '__module__' : 'platform_pb2' - # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.ConsensusParamsEvidence) - }) -_sym_db.RegisterMessage(ConsensusParamsEvidence) +_sym_db.RegisterMessage(WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0) GetConsensusParamsRequest = _reflection.GeneratedProtocolMessageType('GetConsensusParamsRequest', (_message.Message,), { + + 'GetConsensusParamsRequestV0' : _reflection.GeneratedProtocolMessageType('GetConsensusParamsRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCONSENSUSPARAMSREQUEST_GETCONSENSUSPARAMSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0) + }) + , 'DESCRIPTOR' : _GETCONSENSUSPARAMSREQUEST, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetConsensusParamsRequest) }) _sym_db.RegisterMessage(GetConsensusParamsRequest) +_sym_db.RegisterMessage(GetConsensusParamsRequest.GetConsensusParamsRequestV0) GetConsensusParamsResponse = _reflection.GeneratedProtocolMessageType('GetConsensusParamsResponse', (_message.Message,), { + + 'ConsensusParamsBlock' : _reflection.GeneratedProtocolMessageType('ConsensusParamsBlock', (_message.Message,), { + 'DESCRIPTOR' : _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSBLOCK, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock) + }) + , + + 'ConsensusParamsEvidence' : _reflection.GeneratedProtocolMessageType('ConsensusParamsEvidence', (_message.Message,), { + 'DESCRIPTOR' : _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence) + }) + , + + 'GetConsensusParamsResponseV0' : _reflection.GeneratedProtocolMessageType('GetConsensusParamsResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0) + }) + , 'DESCRIPTOR' : _GETCONSENSUSPARAMSRESPONSE, '__module__' : 'platform_pb2' # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetConsensusParamsResponse) }) _sym_db.RegisterMessage(GetConsensusParamsResponse) +_sym_db.RegisterMessage(GetConsensusParamsResponse.ConsensusParamsBlock) +_sym_db.RegisterMessage(GetConsensusParamsResponse.ConsensusParamsEvidence) +_sym_db.RegisterMessage(GetConsensusParamsResponse.GetConsensusParamsResponseV0) _SEARCHKEY_PURPOSEMAPENTRY._options = None _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY._options = None -_GETIDENTITIESKEYSREQUEST_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY._options = None _PLATFORM = _descriptor.ServiceDescriptor( name='Platform', @@ -3429,8 +4521,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=8245, - serialized_end=10256, + serialized_start=11659, + serialized_end=13690, methods=[ _descriptor.MethodDescriptor( name='broadcastStateTransition', @@ -3477,7 +4569,7 @@ full_name='org.dash.platform.dapi.v0.Platform.getIdentityBalance', index=4, containing_service=None, - input_type=_GETIDENTITYREQUEST, + input_type=_GETIDENTITYBALANCEREQUEST, output_type=_GETIDENTITYBALANCERESPONSE, serialized_options=None, create_key=_descriptor._internal_create_key, @@ -3487,7 +4579,7 @@ full_name='org.dash.platform.dapi.v0.Platform.getIdentityBalanceAndRevision', index=5, containing_service=None, - input_type=_GETIDENTITYREQUEST, + input_type=_GETIDENTITYBALANCEANDREVISIONREQUEST, output_type=_GETIDENTITYBALANCEANDREVISIONRESPONSE, serialized_options=None, create_key=_descriptor._internal_create_key, @@ -3553,12 +4645,12 @@ create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( - name='getIdentityByPublicKeyHashes', - full_name='org.dash.platform.dapi.v0.Platform.getIdentityByPublicKeyHashes', + name='getIdentityByPublicKeyHash', + full_name='org.dash.platform.dapi.v0.Platform.getIdentityByPublicKeyHash', index=12, containing_service=None, - input_type=_GETIDENTITYBYPUBLICKEYHASHESREQUEST, - output_type=_GETIDENTITYBYPUBLICKEYHASHESRESPONSE, + input_type=_GETIDENTITYBYPUBLICKEYHASHREQUEST, + output_type=_GETIDENTITYBYPUBLICKEYHASHRESPONSE, serialized_options=None, create_key=_descriptor._internal_create_key, ), diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py index 1c64357d6e..48e14fd1bf 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py @@ -36,12 +36,12 @@ def __init__(self, channel): ) self.getIdentityBalance = channel.unary_unary( '/org.dash.platform.dapi.v0.Platform/getIdentityBalance', - request_serializer=platform__pb2.GetIdentityRequest.SerializeToString, + request_serializer=platform__pb2.GetIdentityBalanceRequest.SerializeToString, response_deserializer=platform__pb2.GetIdentityBalanceResponse.FromString, ) self.getIdentityBalanceAndRevision = channel.unary_unary( '/org.dash.platform.dapi.v0.Platform/getIdentityBalanceAndRevision', - request_serializer=platform__pb2.GetIdentityRequest.SerializeToString, + request_serializer=platform__pb2.GetIdentityBalanceAndRevisionRequest.SerializeToString, response_deserializer=platform__pb2.GetIdentityBalanceAndRevisionResponse.FromString, ) self.getProofs = channel.unary_unary( @@ -74,10 +74,10 @@ def __init__(self, channel): request_serializer=platform__pb2.GetIdentitiesByPublicKeyHashesRequest.SerializeToString, response_deserializer=platform__pb2.GetIdentitiesByPublicKeyHashesResponse.FromString, ) - self.getIdentityByPublicKeyHashes = channel.unary_unary( - '/org.dash.platform.dapi.v0.Platform/getIdentityByPublicKeyHashes', - request_serializer=platform__pb2.GetIdentityByPublicKeyHashesRequest.SerializeToString, - response_deserializer=platform__pb2.GetIdentityByPublicKeyHashesResponse.FromString, + self.getIdentityByPublicKeyHash = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getIdentityByPublicKeyHash', + request_serializer=platform__pb2.GetIdentityByPublicKeyHashRequest.SerializeToString, + response_deserializer=platform__pb2.GetIdentityByPublicKeyHashResponse.FromString, ) self.waitForStateTransitionResult = channel.unary_unary( '/org.dash.platform.dapi.v0.Platform/waitForStateTransitionResult', @@ -119,8 +119,7 @@ def getIdentityKeys(self, request, context): raise NotImplementedError('Method not implemented!') def getIdentityBalance(self, request, context): - """rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - """ + """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -167,7 +166,7 @@ def getIdentitiesByPublicKeyHashes(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def getIdentityByPublicKeyHashes(self, request, context): + def getIdentityByPublicKeyHash(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -210,12 +209,12 @@ def add_PlatformServicer_to_server(servicer, server): ), 'getIdentityBalance': grpc.unary_unary_rpc_method_handler( servicer.getIdentityBalance, - request_deserializer=platform__pb2.GetIdentityRequest.FromString, + request_deserializer=platform__pb2.GetIdentityBalanceRequest.FromString, response_serializer=platform__pb2.GetIdentityBalanceResponse.SerializeToString, ), 'getIdentityBalanceAndRevision': grpc.unary_unary_rpc_method_handler( servicer.getIdentityBalanceAndRevision, - request_deserializer=platform__pb2.GetIdentityRequest.FromString, + request_deserializer=platform__pb2.GetIdentityBalanceAndRevisionRequest.FromString, response_serializer=platform__pb2.GetIdentityBalanceAndRevisionResponse.SerializeToString, ), 'getProofs': grpc.unary_unary_rpc_method_handler( @@ -248,10 +247,10 @@ def add_PlatformServicer_to_server(servicer, server): request_deserializer=platform__pb2.GetIdentitiesByPublicKeyHashesRequest.FromString, response_serializer=platform__pb2.GetIdentitiesByPublicKeyHashesResponse.SerializeToString, ), - 'getIdentityByPublicKeyHashes': grpc.unary_unary_rpc_method_handler( - servicer.getIdentityByPublicKeyHashes, - request_deserializer=platform__pb2.GetIdentityByPublicKeyHashesRequest.FromString, - response_serializer=platform__pb2.GetIdentityByPublicKeyHashesResponse.SerializeToString, + 'getIdentityByPublicKeyHash': grpc.unary_unary_rpc_method_handler( + servicer.getIdentityByPublicKeyHash, + request_deserializer=platform__pb2.GetIdentityByPublicKeyHashRequest.FromString, + response_serializer=platform__pb2.GetIdentityByPublicKeyHashResponse.SerializeToString, ), 'waitForStateTransitionResult': grpc.unary_unary_rpc_method_handler( servicer.waitForStateTransitionResult, @@ -353,7 +352,7 @@ def getIdentityBalance(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getIdentityBalance', - platform__pb2.GetIdentityRequest.SerializeToString, + platform__pb2.GetIdentityBalanceRequest.SerializeToString, platform__pb2.GetIdentityBalanceResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -370,7 +369,7 @@ def getIdentityBalanceAndRevision(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getIdentityBalanceAndRevision', - platform__pb2.GetIdentityRequest.SerializeToString, + platform__pb2.GetIdentityBalanceAndRevisionRequest.SerializeToString, platform__pb2.GetIdentityBalanceAndRevisionResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -478,7 +477,7 @@ def getIdentitiesByPublicKeyHashes(request, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def getIdentityByPublicKeyHashes(request, + def getIdentityByPublicKeyHash(request, target, options=(), channel_credentials=None, @@ -488,9 +487,9 @@ def getIdentityByPublicKeyHashes(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getIdentityByPublicKeyHashes', - platform__pb2.GetIdentityByPublicKeyHashesRequest.SerializeToString, - platform__pb2.GetIdentityByPublicKeyHashesResponse.FromString, + return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getIdentityByPublicKeyHash', + platform__pb2.GetIdentityByPublicKeyHashRequest.SerializeToString, + platform__pb2.GetIdentityByPublicKeyHashResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs b/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs index 28e9fe35bf..0d5806549a 100644 --- a/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs +++ b/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs @@ -1,10 +1,12 @@ use dapi_grpc::platform::v0 as platform; +use dapi_grpc::platform::v0::get_consensus_params_request::GetConsensusParamsRequestV0; use prost::Message; fn main() { let request = platform::GetConsensusParamsRequest { - height: 123, - prove: false, + version: Some(platform::get_consensus_params_request::Version::V0( + GetConsensusParamsRequestV0 { height: 123 }, + )), }; let mut buffer = Vec::::new(); diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts index 5b058abf36..3e8ad1e9d9 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts @@ -159,14 +159,12 @@ export namespace BroadcastStateTransitionResponse { } export class GetIdentityRequest extends jspb.Message { - getId(): Uint8Array | string; - getId_asU8(): Uint8Array; - getId_asB64(): string; - setId(value: Uint8Array | string): void; - - getProve(): boolean; - setProve(value: boolean): void; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityRequest.GetIdentityRequestV0 | undefined; + setV0(value?: GetIdentityRequest.GetIdentityRequestV0): void; + getVersionCase(): GetIdentityRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentityRequest.AsObject; static toObject(includeInstance: boolean, msg: GetIdentityRequest): GetIdentityRequest.AsObject; @@ -179,30 +177,156 @@ export class GetIdentityRequest extends jspb.Message { export namespace GetIdentityRequest { export type AsObject = { - id: Uint8Array | string, - prove: boolean, + v0?: GetIdentityRequest.GetIdentityRequestV0.AsObject, + } + + export class GetIdentityRequestV0 extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityRequestV0): GetIdentityRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityRequestV0; + static deserializeBinaryFromReader(message: GetIdentityRequestV0, reader: jspb.BinaryReader): GetIdentityRequestV0; + } + + export namespace GetIdentityRequestV0 { + export type AsObject = { + id: Uint8Array | string, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetIdentityBalanceRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 | undefined; + setV0(value?: GetIdentityBalanceRequest.GetIdentityBalanceRequestV0): void; + + getVersionCase(): GetIdentityBalanceRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityBalanceRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityBalanceRequest): GetIdentityBalanceRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityBalanceRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityBalanceRequest; + static deserializeBinaryFromReader(message: GetIdentityBalanceRequest, reader: jspb.BinaryReader): GetIdentityBalanceRequest; +} + +export namespace GetIdentityBalanceRequest { + export type AsObject = { + v0?: GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.AsObject, + } + + export class GetIdentityBalanceRequestV0 extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityBalanceRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityBalanceRequestV0): GetIdentityBalanceRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityBalanceRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityBalanceRequestV0; + static deserializeBinaryFromReader(message: GetIdentityBalanceRequestV0, reader: jspb.BinaryReader): GetIdentityBalanceRequestV0; + } + + export namespace GetIdentityBalanceRequestV0 { + export type AsObject = { + id: Uint8Array | string, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetIdentityBalanceAndRevisionRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 | undefined; + setV0(value?: GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0): void; + + getVersionCase(): GetIdentityBalanceAndRevisionRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityBalanceAndRevisionRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityBalanceAndRevisionRequest): GetIdentityBalanceAndRevisionRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityBalanceAndRevisionRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityBalanceAndRevisionRequest; + static deserializeBinaryFromReader(message: GetIdentityBalanceAndRevisionRequest, reader: jspb.BinaryReader): GetIdentityBalanceAndRevisionRequest; +} + +export namespace GetIdentityBalanceAndRevisionRequest { + export type AsObject = { + v0?: GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.AsObject, + } + + export class GetIdentityBalanceAndRevisionRequestV0 extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityBalanceAndRevisionRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityBalanceAndRevisionRequestV0): GetIdentityBalanceAndRevisionRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityBalanceAndRevisionRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityBalanceAndRevisionRequestV0; + static deserializeBinaryFromReader(message: GetIdentityBalanceAndRevisionRequestV0, reader: jspb.BinaryReader): GetIdentityBalanceAndRevisionRequestV0; + } + + export namespace GetIdentityBalanceAndRevisionRequestV0 { + export type AsObject = { + id: Uint8Array | string, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentityResponse extends jspb.Message { - hasIdentity(): boolean; - clearIdentity(): void; - getIdentity(): Uint8Array | string; - getIdentity_asU8(): Uint8Array; - getIdentity_asB64(): string; - setIdentity(value: Uint8Array | string): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetIdentityResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityResponse.GetIdentityResponseV0 | undefined; + setV0(value?: GetIdentityResponse.GetIdentityResponseV0): void; + + getVersionCase(): GetIdentityResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentityResponse.AsObject; static toObject(includeInstance: boolean, msg: GetIdentityResponse): GetIdentityResponse.AsObject; @@ -215,29 +339,65 @@ export class GetIdentityResponse extends jspb.Message { export namespace GetIdentityResponse { export type AsObject = { - identity: Uint8Array | string, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetIdentityResponse.GetIdentityResponseV0.AsObject, + } + + export class GetIdentityResponseV0 extends jspb.Message { + hasIdentity(): boolean; + clearIdentity(): void; + getIdentity(): Uint8Array | string; + getIdentity_asU8(): Uint8Array; + getIdentity_asB64(): string; + setIdentity(value: Uint8Array | string): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetIdentityResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityResponseV0): GetIdentityResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityResponseV0; + static deserializeBinaryFromReader(message: GetIdentityResponseV0, reader: jspb.BinaryReader): GetIdentityResponseV0; + } + + export namespace GetIdentityResponseV0 { + export type AsObject = { + identity: Uint8Array | string, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + IDENTITY = 1, + PROOF = 2, + } } - export enum ResultCase { - RESULT_NOT_SET = 0, - IDENTITY = 1, - PROOF = 2, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentitiesRequest extends jspb.Message { - clearIdsList(): void; - getIdsList(): Array; - getIdsList_asU8(): Array; - getIdsList_asB64(): Array; - setIdsList(value: Array): void; - addIds(value: Uint8Array | string, index?: number): Uint8Array | string; - - getProve(): boolean; - setProve(value: boolean): void; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentitiesRequest.GetIdentitiesRequestV0 | undefined; + setV0(value?: GetIdentitiesRequest.GetIdentitiesRequestV0): void; + getVersionCase(): GetIdentitiesRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentitiesRequest.AsObject; static toObject(includeInstance: boolean, msg: GetIdentitiesRequest): GetIdentitiesRequest.AsObject; @@ -250,28 +410,50 @@ export class GetIdentitiesRequest extends jspb.Message { export namespace GetIdentitiesRequest { export type AsObject = { - idsList: Array, - prove: boolean, + v0?: GetIdentitiesRequest.GetIdentitiesRequestV0.AsObject, + } + + export class GetIdentitiesRequestV0 extends jspb.Message { + clearIdsList(): void; + getIdsList(): Array; + getIdsList_asU8(): Array; + getIdsList_asB64(): Array; + setIdsList(value: Array): void; + addIds(value: Uint8Array | string, index?: number): Uint8Array | string; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentitiesRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesRequestV0): GetIdentitiesRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentitiesRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesRequestV0; + static deserializeBinaryFromReader(message: GetIdentitiesRequestV0, reader: jspb.BinaryReader): GetIdentitiesRequestV0; + } + + export namespace GetIdentitiesRequestV0 { + export type AsObject = { + idsList: Array, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentitiesResponse extends jspb.Message { - hasIdentities(): boolean; - clearIdentities(): void; - getIdentities(): GetIdentitiesResponse.Identities | undefined; - setIdentities(value?: GetIdentitiesResponse.Identities): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetIdentitiesResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentitiesResponse.GetIdentitiesResponseV0 | undefined; + setV0(value?: GetIdentitiesResponse.GetIdentitiesResponseV0): void; + + getVersionCase(): GetIdentitiesResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentitiesResponse.AsObject; static toObject(includeInstance: boolean, msg: GetIdentitiesResponse): GetIdentitiesResponse.AsObject; @@ -284,9 +466,7 @@ export class GetIdentitiesResponse extends jspb.Message { export namespace GetIdentitiesResponse { export type AsObject = { - identities?: GetIdentitiesResponse.Identities.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetIdentitiesResponse.GetIdentitiesResponseV0.AsObject, } export class IdentityValue extends jspb.Message { @@ -361,30 +541,60 @@ export namespace GetIdentitiesResponse { } } - export enum ResultCase { - RESULT_NOT_SET = 0, - IDENTITIES = 1, - PROOF = 2, + export class GetIdentitiesResponseV0 extends jspb.Message { + hasIdentities(): boolean; + clearIdentities(): void; + getIdentities(): GetIdentitiesResponse.Identities | undefined; + setIdentities(value?: GetIdentitiesResponse.Identities): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetIdentitiesResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentitiesResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesResponseV0): GetIdentitiesResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentitiesResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesResponseV0; + static deserializeBinaryFromReader(message: GetIdentitiesResponseV0, reader: jspb.BinaryReader): GetIdentitiesResponseV0; + } + + export namespace GetIdentitiesResponseV0 { + export type AsObject = { + identities?: GetIdentitiesResponse.Identities.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + IDENTITIES = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentityBalanceResponse extends jspb.Message { - hasBalance(): boolean; - clearBalance(): void; - getBalance(): google_protobuf_wrappers_pb.UInt64Value | undefined; - setBalance(value?: google_protobuf_wrappers_pb.UInt64Value): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetIdentityBalanceResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 | undefined; + setV0(value?: GetIdentityBalanceResponse.GetIdentityBalanceResponseV0): void; + + getVersionCase(): GetIdentityBalanceResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentityBalanceResponse.AsObject; static toObject(includeInstance: boolean, msg: GetIdentityBalanceResponse): GetIdentityBalanceResponse.AsObject; @@ -397,35 +607,63 @@ export class GetIdentityBalanceResponse extends jspb.Message { export namespace GetIdentityBalanceResponse { export type AsObject = { - balance?: google_protobuf_wrappers_pb.UInt64Value.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.AsObject, + } + + export class GetIdentityBalanceResponseV0 extends jspb.Message { + hasBalance(): boolean; + clearBalance(): void; + getBalance(): number; + setBalance(value: number): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetIdentityBalanceResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityBalanceResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityBalanceResponseV0): GetIdentityBalanceResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityBalanceResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityBalanceResponseV0; + static deserializeBinaryFromReader(message: GetIdentityBalanceResponseV0, reader: jspb.BinaryReader): GetIdentityBalanceResponseV0; + } + + export namespace GetIdentityBalanceResponseV0 { + export type AsObject = { + balance: number, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + BALANCE = 1, + PROOF = 2, + } } - export enum ResultCase { - RESULT_NOT_SET = 0, - BALANCE = 1, - PROOF = 2, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentityBalanceAndRevisionResponse extends jspb.Message { - hasBalanceAndRevision(): boolean; - clearBalanceAndRevision(): void; - getBalanceAndRevision(): GetIdentityBalanceAndRevisionResponse.BalanceAndRevision | undefined; - setBalanceAndRevision(value?: GetIdentityBalanceAndRevisionResponse.BalanceAndRevision): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetIdentityBalanceAndRevisionResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 | undefined; + setV0(value?: GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0): void; + + getVersionCase(): GetIdentityBalanceAndRevisionResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentityBalanceAndRevisionResponse.AsObject; static toObject(includeInstance: boolean, msg: GetIdentityBalanceAndRevisionResponse): GetIdentityBalanceAndRevisionResponse.AsObject; @@ -438,43 +676,77 @@ export class GetIdentityBalanceAndRevisionResponse extends jspb.Message { export namespace GetIdentityBalanceAndRevisionResponse { export type AsObject = { - balanceAndRevision?: GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.AsObject, } - export class BalanceAndRevision extends jspb.Message { - hasBalance(): boolean; - clearBalance(): void; - getBalance(): google_protobuf_wrappers_pb.UInt64Value | undefined; - setBalance(value?: google_protobuf_wrappers_pb.UInt64Value): void; + export class GetIdentityBalanceAndRevisionResponseV0 extends jspb.Message { + hasBalanceAndRevision(): boolean; + clearBalanceAndRevision(): void; + getBalanceAndRevision(): GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision | undefined; + setBalanceAndRevision(value?: GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision): void; - hasRevision(): boolean; - clearRevision(): void; - getRevision(): google_protobuf_wrappers_pb.UInt64Value | undefined; - setRevision(value?: google_protobuf_wrappers_pb.UInt64Value): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetIdentityBalanceAndRevisionResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): BalanceAndRevision.AsObject; - static toObject(includeInstance: boolean, msg: BalanceAndRevision): BalanceAndRevision.AsObject; + toObject(includeInstance?: boolean): GetIdentityBalanceAndRevisionResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityBalanceAndRevisionResponseV0): GetIdentityBalanceAndRevisionResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: BalanceAndRevision, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): BalanceAndRevision; - static deserializeBinaryFromReader(message: BalanceAndRevision, reader: jspb.BinaryReader): BalanceAndRevision; + static serializeBinaryToWriter(message: GetIdentityBalanceAndRevisionResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityBalanceAndRevisionResponseV0; + static deserializeBinaryFromReader(message: GetIdentityBalanceAndRevisionResponseV0, reader: jspb.BinaryReader): GetIdentityBalanceAndRevisionResponseV0; } - export namespace BalanceAndRevision { + export namespace GetIdentityBalanceAndRevisionResponseV0 { export type AsObject = { - balance?: google_protobuf_wrappers_pb.UInt64Value.AsObject, - revision?: google_protobuf_wrappers_pb.UInt64Value.AsObject, + balanceAndRevision?: GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class BalanceAndRevision extends jspb.Message { + getBalance(): number; + setBalance(value: number): void; + + getRevision(): number; + setRevision(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): BalanceAndRevision.AsObject; + static toObject(includeInstance: boolean, msg: BalanceAndRevision): BalanceAndRevision.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: BalanceAndRevision, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): BalanceAndRevision; + static deserializeBinaryFromReader(message: BalanceAndRevision, reader: jspb.BinaryReader): BalanceAndRevision; + } + + export namespace BalanceAndRevision { + export type AsObject = { + balance: number, + revision: number, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + BALANCE_AND_REVISION = 1, + PROOF = 2, } } - export enum ResultCase { - RESULT_NOT_SET = 0, - BALANCE_AND_REVISION = 1, - PROOF = 2, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } @@ -604,29 +876,12 @@ export namespace SecurityLevelMap { } export class GetIdentityKeysRequest extends jspb.Message { - getIdentityId(): Uint8Array | string; - getIdentityId_asU8(): Uint8Array; - getIdentityId_asB64(): string; - setIdentityId(value: Uint8Array | string): void; - - hasRequestType(): boolean; - clearRequestType(): void; - getRequestType(): KeyRequestType | undefined; - setRequestType(value?: KeyRequestType): void; - - hasLimit(): boolean; - clearLimit(): void; - getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; - - hasOffset(): boolean; - clearOffset(): void; - getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; - - getProve(): boolean; - setProve(value: boolean): void; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityKeysRequest.GetIdentityKeysRequestV0 | undefined; + setV0(value?: GetIdentityKeysRequest.GetIdentityKeysRequestV0): void; + getVersionCase(): GetIdentityKeysRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentityKeysRequest.AsObject; static toObject(includeInstance: boolean, msg: GetIdentityKeysRequest): GetIdentityKeysRequest.AsObject; @@ -639,31 +894,66 @@ export class GetIdentityKeysRequest extends jspb.Message { export namespace GetIdentityKeysRequest { export type AsObject = { - identityId: Uint8Array | string, - requestType?: KeyRequestType.AsObject, - limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - prove: boolean, + v0?: GetIdentityKeysRequest.GetIdentityKeysRequestV0.AsObject, + } + + export class GetIdentityKeysRequestV0 extends jspb.Message { + getIdentityId(): Uint8Array | string; + getIdentityId_asU8(): Uint8Array; + getIdentityId_asB64(): string; + setIdentityId(value: Uint8Array | string): void; + + hasRequestType(): boolean; + clearRequestType(): void; + getRequestType(): KeyRequestType | undefined; + setRequestType(value?: KeyRequestType): void; + + hasLimit(): boolean; + clearLimit(): void; + getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + hasOffset(): boolean; + clearOffset(): void; + getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityKeysRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityKeysRequestV0): GetIdentityKeysRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityKeysRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityKeysRequestV0; + static deserializeBinaryFromReader(message: GetIdentityKeysRequestV0, reader: jspb.BinaryReader): GetIdentityKeysRequestV0; + } + + export namespace GetIdentityKeysRequestV0 { + export type AsObject = { + identityId: Uint8Array | string, + requestType?: KeyRequestType.AsObject, + limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentityKeysResponse extends jspb.Message { - hasKeys(): boolean; - clearKeys(): void; - getKeys(): GetIdentityKeysResponse.Keys | undefined; - setKeys(value?: GetIdentityKeysResponse.Keys): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetIdentityKeysResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityKeysResponse.GetIdentityKeysResponseV0 | undefined; + setV0(value?: GetIdentityKeysResponse.GetIdentityKeysResponseV0): void; + + getVersionCase(): GetIdentityKeysResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentityKeysResponse.AsObject; static toObject(includeInstance: boolean, msg: GetIdentityKeysResponse): GetIdentityKeysResponse.AsObject; @@ -676,494 +966,478 @@ export class GetIdentityKeysResponse extends jspb.Message { export namespace GetIdentityKeysResponse { export type AsObject = { - keys?: GetIdentityKeysResponse.Keys.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetIdentityKeysResponse.GetIdentityKeysResponseV0.AsObject, } - export class Keys extends jspb.Message { - clearKeysBytesList(): void; - getKeysBytesList(): Array; - getKeysBytesList_asU8(): Array; - getKeysBytesList_asB64(): Array; - setKeysBytesList(value: Array): void; - addKeysBytes(value: Uint8Array | string, index?: number): Uint8Array | string; + export class GetIdentityKeysResponseV0 extends jspb.Message { + hasKeys(): boolean; + clearKeys(): void; + getKeys(): GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys | undefined; + setKeys(value?: GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetIdentityKeysResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Keys.AsObject; - static toObject(includeInstance: boolean, msg: Keys): Keys.AsObject; + toObject(includeInstance?: boolean): GetIdentityKeysResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityKeysResponseV0): GetIdentityKeysResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Keys, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Keys; - static deserializeBinaryFromReader(message: Keys, reader: jspb.BinaryReader): Keys; + static serializeBinaryToWriter(message: GetIdentityKeysResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityKeysResponseV0; + static deserializeBinaryFromReader(message: GetIdentityKeysResponseV0, reader: jspb.BinaryReader): GetIdentityKeysResponseV0; } - export namespace Keys { + export namespace GetIdentityKeysResponseV0 { export type AsObject = { - keysBytesList: Array, + keys?: GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } - } - export enum ResultCase { - RESULT_NOT_SET = 0, - KEYS = 1, - PROOF = 2, - } -} - -export class GetIdentitiesKeysRequest extends jspb.Message { - clearIdentityIdsList(): void; - getIdentityIdsList(): Array; - getIdentityIdsList_asU8(): Array; - getIdentityIdsList_asB64(): Array; - setIdentityIdsList(value: Array): void; - addIdentityIds(value: Uint8Array | string, index?: number): Uint8Array | string; + export class Keys extends jspb.Message { + clearKeysBytesList(): void; + getKeysBytesList(): Array; + getKeysBytesList_asU8(): Array; + getKeysBytesList_asB64(): Array; + setKeysBytesList(value: Array): void; + addKeysBytes(value: Uint8Array | string, index?: number): Uint8Array | string; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Keys.AsObject; + static toObject(includeInstance: boolean, msg: Keys): Keys.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Keys, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Keys; + static deserializeBinaryFromReader(message: Keys, reader: jspb.BinaryReader): Keys; + } - hasRequestType(): boolean; - clearRequestType(): void; - getRequestType(): KeyRequestType | undefined; - setRequestType(value?: KeyRequestType): void; + export namespace Keys { + export type AsObject = { + keysBytesList: Array, + } + } - hasLimit(): boolean; - clearLimit(): void; - getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; + export enum ResultCase { + RESULT_NOT_SET = 0, + KEYS = 1, + PROOF = 2, + } + } - hasOffset(): boolean; - clearOffset(): void; - getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} - getProve(): boolean; - setProve(value: boolean): void; +export class GetProofsRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetProofsRequest.GetProofsRequestV0 | undefined; + setV0(value?: GetProofsRequest.GetProofsRequestV0): void; + getVersionCase(): GetProofsRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentitiesKeysRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentitiesKeysRequest): GetIdentitiesKeysRequest.AsObject; + toObject(includeInstance?: boolean): GetProofsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsRequest): GetProofsRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentitiesKeysRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentitiesKeysRequest; - static deserializeBinaryFromReader(message: GetIdentitiesKeysRequest, reader: jspb.BinaryReader): GetIdentitiesKeysRequest; + static serializeBinaryToWriter(message: GetProofsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsRequest; + static deserializeBinaryFromReader(message: GetProofsRequest, reader: jspb.BinaryReader): GetProofsRequest; } -export namespace GetIdentitiesKeysRequest { +export namespace GetProofsRequest { export type AsObject = { - identityIdsList: Array, - requestType?: KeyRequestType.AsObject, - limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - prove: boolean, + v0?: GetProofsRequest.GetProofsRequestV0.AsObject, } - export class SecurityLevelMap extends jspb.Message { - getSecurityLevelMapMap(): jspb.Map; - clearSecurityLevelMapMap(): void; + export class GetProofsRequestV0 extends jspb.Message { + clearIdentitiesList(): void; + getIdentitiesList(): Array; + setIdentitiesList(value: Array): void; + addIdentities(value?: GetProofsRequest.GetProofsRequestV0.IdentityRequest, index?: number): GetProofsRequest.GetProofsRequestV0.IdentityRequest; + + clearContractsList(): void; + getContractsList(): Array; + setContractsList(value: Array): void; + addContracts(value?: GetProofsRequest.GetProofsRequestV0.ContractRequest, index?: number): GetProofsRequest.GetProofsRequestV0.ContractRequest; + + clearDocumentsList(): void; + getDocumentsList(): Array; + setDocumentsList(value: Array): void; + addDocuments(value?: GetProofsRequest.GetProofsRequestV0.DocumentRequest, index?: number): GetProofsRequest.GetProofsRequestV0.DocumentRequest; + serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SecurityLevelMap.AsObject; - static toObject(includeInstance: boolean, msg: SecurityLevelMap): SecurityLevelMap.AsObject; + toObject(includeInstance?: boolean): GetProofsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsRequestV0): GetProofsRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SecurityLevelMap, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SecurityLevelMap; - static deserializeBinaryFromReader(message: SecurityLevelMap, reader: jspb.BinaryReader): SecurityLevelMap; + static serializeBinaryToWriter(message: GetProofsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsRequestV0; + static deserializeBinaryFromReader(message: GetProofsRequestV0, reader: jspb.BinaryReader): GetProofsRequestV0; } - export namespace SecurityLevelMap { + export namespace GetProofsRequestV0 { export type AsObject = { - securityLevelMapMap: Array<[number, GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestTypeMap[keyof GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestTypeMap]]>, + identitiesList: Array, + contractsList: Array, + documentsList: Array, } - export interface KeyKindRequestTypeMap { - CURRENT_KEY_OF_KIND_REQUEST: 0; + export class DocumentRequest extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + getDocumentType(): string; + setDocumentType(value: string): void; + + getDocumentTypeKeepsHistory(): boolean; + setDocumentTypeKeepsHistory(value: boolean): void; + + getDocumentId(): Uint8Array | string; + getDocumentId_asU8(): Uint8Array; + getDocumentId_asB64(): string; + setDocumentId(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DocumentRequest.AsObject; + static toObject(includeInstance: boolean, msg: DocumentRequest): DocumentRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DocumentRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DocumentRequest; + static deserializeBinaryFromReader(message: DocumentRequest, reader: jspb.BinaryReader): DocumentRequest; } - export const KeyKindRequestType: KeyKindRequestTypeMap; - } -} + export namespace DocumentRequest { + export type AsObject = { + contractId: Uint8Array | string, + documentType: string, + documentTypeKeepsHistory: boolean, + documentId: Uint8Array | string, + } + } + + export class IdentityRequest extends jspb.Message { + getIdentityId(): Uint8Array | string; + getIdentityId_asU8(): Uint8Array; + getIdentityId_asB64(): string; + setIdentityId(value: Uint8Array | string): void; + + getRequestType(): GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap]; + setRequestType(value: GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap]): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): IdentityRequest.AsObject; + static toObject(includeInstance: boolean, msg: IdentityRequest): IdentityRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: IdentityRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): IdentityRequest; + static deserializeBinaryFromReader(message: IdentityRequest, reader: jspb.BinaryReader): IdentityRequest; + } + + export namespace IdentityRequest { + export type AsObject = { + identityId: Uint8Array | string, + requestType: GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap[keyof GetProofsRequest.GetProofsRequestV0.IdentityRequest.TypeMap], + } + + export interface TypeMap { + FULL_IDENTITY: 0; + BALANCE: 1; + KEYS: 2; + } + + export const Type: TypeMap; + } + + export class ContractRequest extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContractRequest.AsObject; + static toObject(includeInstance: boolean, msg: ContractRequest): ContractRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContractRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContractRequest; + static deserializeBinaryFromReader(message: ContractRequest, reader: jspb.BinaryReader): ContractRequest; + } -export class GetIdentitiesKeysResponse extends jspb.Message { - hasPublicKeys(): boolean; - clearPublicKeys(): void; - getPublicKeys(): GetIdentitiesKeysResponse.PublicKeyEntries | undefined; - setPublicKeys(value?: GetIdentitiesKeysResponse.PublicKeyEntries): void; + export namespace ContractRequest { + export type AsObject = { + contractId: Uint8Array | string, + } + } + } - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; +export class GetProofsResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetProofsResponse.GetProofsResponseV0 | undefined; + setV0(value?: GetProofsResponse.GetProofsResponseV0): void; - getResultCase(): GetIdentitiesKeysResponse.ResultCase; + getVersionCase(): GetProofsResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentitiesKeysResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentitiesKeysResponse): GetIdentitiesKeysResponse.AsObject; + toObject(includeInstance?: boolean): GetProofsResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsResponse): GetProofsResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentitiesKeysResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentitiesKeysResponse; - static deserializeBinaryFromReader(message: GetIdentitiesKeysResponse, reader: jspb.BinaryReader): GetIdentitiesKeysResponse; + static serializeBinaryToWriter(message: GetProofsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsResponse; + static deserializeBinaryFromReader(message: GetProofsResponse, reader: jspb.BinaryReader): GetProofsResponse; } -export namespace GetIdentitiesKeysResponse { +export namespace GetProofsResponse { export type AsObject = { - publicKeys?: GetIdentitiesKeysResponse.PublicKeyEntries.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetProofsResponse.GetProofsResponseV0.AsObject, } - export class PublicKey extends jspb.Message { - getValue(): Uint8Array | string; - getValue_asU8(): Uint8Array; - getValue_asB64(): string; - setValue(value: Uint8Array | string): void; + export class GetProofsResponseV0 extends jspb.Message { + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): PublicKey.AsObject; - static toObject(includeInstance: boolean, msg: PublicKey): PublicKey.AsObject; + toObject(includeInstance?: boolean): GetProofsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetProofsResponseV0): GetProofsResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: PublicKey, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): PublicKey; - static deserializeBinaryFromReader(message: PublicKey, reader: jspb.BinaryReader): PublicKey; + static serializeBinaryToWriter(message: GetProofsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetProofsResponseV0; + static deserializeBinaryFromReader(message: GetProofsResponseV0, reader: jspb.BinaryReader): GetProofsResponseV0; } - export namespace PublicKey { + export namespace GetProofsResponseV0 { export type AsObject = { - value: Uint8Array | string, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } } - export class PublicKeyEntry extends jspb.Message { - getKey(): Uint8Array | string; - getKey_asU8(): Uint8Array; - getKey_asB64(): string; - setKey(value: Uint8Array | string): void; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} - hasValue(): boolean; - clearValue(): void; - getValue(): GetIdentitiesKeysResponse.PublicKey | undefined; - setValue(value?: GetIdentitiesKeysResponse.PublicKey): void; +export class GetDataContractRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetDataContractRequest.GetDataContractRequestV0 | undefined; + setV0(value?: GetDataContractRequest.GetDataContractRequestV0): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): PublicKeyEntry.AsObject; - static toObject(includeInstance: boolean, msg: PublicKeyEntry): PublicKeyEntry.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: PublicKeyEntry, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): PublicKeyEntry; - static deserializeBinaryFromReader(message: PublicKeyEntry, reader: jspb.BinaryReader): PublicKeyEntry; - } + getVersionCase(): GetDataContractRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetDataContractRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractRequest): GetDataContractRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetDataContractRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractRequest; + static deserializeBinaryFromReader(message: GetDataContractRequest, reader: jspb.BinaryReader): GetDataContractRequest; +} - export namespace PublicKeyEntry { - export type AsObject = { - key: Uint8Array | string, - value?: GetIdentitiesKeysResponse.PublicKey.AsObject, - } +export namespace GetDataContractRequest { + export type AsObject = { + v0?: GetDataContractRequest.GetDataContractRequestV0.AsObject, } - export class PublicKeyEntries extends jspb.Message { - clearPublicKeyEntriesList(): void; - getPublicKeyEntriesList(): Array; - setPublicKeyEntriesList(value: Array): void; - addPublicKeyEntries(value?: GetIdentitiesKeysResponse.PublicKeyEntry, index?: number): GetIdentitiesKeysResponse.PublicKeyEntry; + export class GetDataContractRequestV0 extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): PublicKeyEntries.AsObject; - static toObject(includeInstance: boolean, msg: PublicKeyEntries): PublicKeyEntries.AsObject; + toObject(includeInstance?: boolean): GetDataContractRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractRequestV0): GetDataContractRequestV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: PublicKeyEntries, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): PublicKeyEntries; - static deserializeBinaryFromReader(message: PublicKeyEntries, reader: jspb.BinaryReader): PublicKeyEntries; + static serializeBinaryToWriter(message: GetDataContractRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractRequestV0; + static deserializeBinaryFromReader(message: GetDataContractRequestV0, reader: jspb.BinaryReader): GetDataContractRequestV0; } - export namespace PublicKeyEntries { + export namespace GetDataContractRequestV0 { export type AsObject = { - publicKeyEntriesList: Array, + id: Uint8Array | string, + prove: boolean, } } - export enum ResultCase { - RESULT_NOT_SET = 0, - PUBLIC_KEYS = 1, - PROOF = 2, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } -export class GetProofsRequest extends jspb.Message { - clearIdentitiesList(): void; - getIdentitiesList(): Array; - setIdentitiesList(value: Array): void; - addIdentities(value?: GetProofsRequest.IdentityRequest, index?: number): GetProofsRequest.IdentityRequest; - - clearContractsList(): void; - getContractsList(): Array; - setContractsList(value: Array): void; - addContracts(value?: GetProofsRequest.ContractRequest, index?: number): GetProofsRequest.ContractRequest; - - clearDocumentsList(): void; - getDocumentsList(): Array; - setDocumentsList(value: Array): void; - addDocuments(value?: GetProofsRequest.DocumentRequest, index?: number): GetProofsRequest.DocumentRequest; +export class GetDataContractResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetDataContractResponse.GetDataContractResponseV0 | undefined; + setV0(value?: GetDataContractResponse.GetDataContractResponseV0): void; + getVersionCase(): GetDataContractResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProofsRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetProofsRequest): GetProofsRequest.AsObject; + toObject(includeInstance?: boolean): GetDataContractResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractResponse): GetDataContractResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProofsRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProofsRequest; - static deserializeBinaryFromReader(message: GetProofsRequest, reader: jspb.BinaryReader): GetProofsRequest; + static serializeBinaryToWriter(message: GetDataContractResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractResponse; + static deserializeBinaryFromReader(message: GetDataContractResponse, reader: jspb.BinaryReader): GetDataContractResponse; } -export namespace GetProofsRequest { +export namespace GetDataContractResponse { export type AsObject = { - identitiesList: Array, - contractsList: Array, - documentsList: Array, + v0?: GetDataContractResponse.GetDataContractResponseV0.AsObject, } - export class DocumentRequest extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; - - getDocumentType(): string; - setDocumentType(value: string): void; + export class GetDataContractResponseV0 extends jspb.Message { + hasDataContract(): boolean; + clearDataContract(): void; + getDataContract(): Uint8Array | string; + getDataContract_asU8(): Uint8Array; + getDataContract_asB64(): string; + setDataContract(value: Uint8Array | string): void; - getDocumentTypeKeepsHistory(): boolean; - setDocumentTypeKeepsHistory(value: boolean): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; - getDocumentId(): Uint8Array | string; - getDocumentId_asU8(): Uint8Array; - getDocumentId_asB64(): string; - setDocumentId(value: Uint8Array | string): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + getResultCase(): GetDataContractResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DocumentRequest.AsObject; - static toObject(includeInstance: boolean, msg: DocumentRequest): DocumentRequest.AsObject; + toObject(includeInstance?: boolean): GetDataContractResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractResponseV0): GetDataContractResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DocumentRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DocumentRequest; - static deserializeBinaryFromReader(message: DocumentRequest, reader: jspb.BinaryReader): DocumentRequest; + static serializeBinaryToWriter(message: GetDataContractResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractResponseV0; + static deserializeBinaryFromReader(message: GetDataContractResponseV0, reader: jspb.BinaryReader): GetDataContractResponseV0; } - export namespace DocumentRequest { + export namespace GetDataContractResponseV0 { export type AsObject = { - contractId: Uint8Array | string, - documentType: string, - documentTypeKeepsHistory: boolean, - documentId: Uint8Array | string, + dataContract: Uint8Array | string, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } - } - - export class IdentityRequest extends jspb.Message { - getIdentityId(): Uint8Array | string; - getIdentityId_asU8(): Uint8Array; - getIdentityId_asB64(): string; - setIdentityId(value: Uint8Array | string): void; - - getRequestType(): GetProofsRequest.IdentityRequest.TypeMap[keyof GetProofsRequest.IdentityRequest.TypeMap]; - setRequestType(value: GetProofsRequest.IdentityRequest.TypeMap[keyof GetProofsRequest.IdentityRequest.TypeMap]): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): IdentityRequest.AsObject; - static toObject(includeInstance: boolean, msg: IdentityRequest): IdentityRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: IdentityRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): IdentityRequest; - static deserializeBinaryFromReader(message: IdentityRequest, reader: jspb.BinaryReader): IdentityRequest; - } - - export namespace IdentityRequest { - export type AsObject = { - identityId: Uint8Array | string, - requestType: GetProofsRequest.IdentityRequest.TypeMap[keyof GetProofsRequest.IdentityRequest.TypeMap], + export enum ResultCase { + RESULT_NOT_SET = 0, + DATA_CONTRACT = 1, + PROOF = 2, } - - export interface TypeMap { - FULL_IDENTITY: 0; - BALANCE: 1; - KEYS: 2; - } - - export const Type: TypeMap; - } - - export class ContractRequest extends jspb.Message { - getContractId(): Uint8Array | string; - getContractId_asU8(): Uint8Array; - getContractId_asB64(): string; - setContractId(value: Uint8Array | string): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ContractRequest.AsObject; - static toObject(includeInstance: boolean, msg: ContractRequest): ContractRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ContractRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ContractRequest; - static deserializeBinaryFromReader(message: ContractRequest, reader: jspb.BinaryReader): ContractRequest; } - export namespace ContractRequest { - export type AsObject = { - contractId: Uint8Array | string, - } + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } -export class GetProofsResponse extends jspb.Message { - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; +export class GetDataContractsRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetDataContractsRequest.GetDataContractsRequestV0 | undefined; + setV0(value?: GetDataContractsRequest.GetDataContractsRequestV0): void; + getVersionCase(): GetDataContractsRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetProofsResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetProofsResponse): GetProofsResponse.AsObject; + toObject(includeInstance?: boolean): GetDataContractsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractsRequest): GetDataContractsRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetProofsResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetProofsResponse; - static deserializeBinaryFromReader(message: GetProofsResponse, reader: jspb.BinaryReader): GetProofsResponse; + static serializeBinaryToWriter(message: GetDataContractsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractsRequest; + static deserializeBinaryFromReader(message: GetDataContractsRequest, reader: jspb.BinaryReader): GetDataContractsRequest; } -export namespace GetProofsResponse { +export namespace GetDataContractsRequest { export type AsObject = { - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetDataContractsRequest.GetDataContractsRequestV0.AsObject, } -} - -export class GetDataContractRequest extends jspb.Message { - getId(): Uint8Array | string; - getId_asU8(): Uint8Array; - getId_asB64(): string; - setId(value: Uint8Array | string): void; - - getProve(): boolean; - setProve(value: boolean): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractRequest): GetDataContractRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractRequest; - static deserializeBinaryFromReader(message: GetDataContractRequest, reader: jspb.BinaryReader): GetDataContractRequest; -} -export namespace GetDataContractRequest { - export type AsObject = { - id: Uint8Array | string, - prove: boolean, - } -} + export class GetDataContractsRequestV0 extends jspb.Message { + clearIdsList(): void; + getIdsList(): Array; + getIdsList_asU8(): Array; + getIdsList_asB64(): Array; + setIdsList(value: Array): void; + addIds(value: Uint8Array | string, index?: number): Uint8Array | string; -export class GetDataContractResponse extends jspb.Message { - hasDataContract(): boolean; - clearDataContract(): void; - getDataContract(): Uint8Array | string; - getDataContract_asU8(): Uint8Array; - getDataContract_asB64(): string; - setDataContract(value: Uint8Array | string): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetDataContractResponse.ResultCase; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractResponse): GetDataContractResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractResponse; - static deserializeBinaryFromReader(message: GetDataContractResponse, reader: jspb.BinaryReader): GetDataContractResponse; -} + getProve(): boolean; + setProve(value: boolean): void; -export namespace GetDataContractResponse { - export type AsObject = { - dataContract: Uint8Array | string, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetDataContractsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractsRequestV0): GetDataContractsRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetDataContractsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractsRequestV0; + static deserializeBinaryFromReader(message: GetDataContractsRequestV0, reader: jspb.BinaryReader): GetDataContractsRequestV0; } - export enum ResultCase { - RESULT_NOT_SET = 0, - DATA_CONTRACT = 1, - PROOF = 2, + export namespace GetDataContractsRequestV0 { + export type AsObject = { + idsList: Array, + prove: boolean, + } } -} - -export class GetDataContractsRequest extends jspb.Message { - clearIdsList(): void; - getIdsList(): Array; - getIdsList_asU8(): Array; - getIdsList_asB64(): Array; - setIdsList(value: Array): void; - addIds(value: Uint8Array | string, index?: number): Uint8Array | string; - - getProve(): boolean; - setProve(value: boolean): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetDataContractsRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetDataContractsRequest): GetDataContractsRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetDataContractsRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetDataContractsRequest; - static deserializeBinaryFromReader(message: GetDataContractsRequest, reader: jspb.BinaryReader): GetDataContractsRequest; -} - -export namespace GetDataContractsRequest { - export type AsObject = { - idsList: Array, - prove: boolean, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetDataContractsResponse extends jspb.Message { - hasDataContracts(): boolean; - clearDataContracts(): void; - getDataContracts(): GetDataContractsResponse.DataContracts | undefined; - setDataContracts(value?: GetDataContractsResponse.DataContracts): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetDataContractsResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetDataContractsResponse.GetDataContractsResponseV0 | undefined; + setV0(value?: GetDataContractsResponse.GetDataContractsResponseV0): void; + + getVersionCase(): GetDataContractsResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetDataContractsResponse.AsObject; static toObject(includeInstance: boolean, msg: GetDataContractsResponse): GetDataContractsResponse.AsObject; @@ -1176,43 +1450,19 @@ export class GetDataContractsResponse extends jspb.Message { export namespace GetDataContractsResponse { export type AsObject = { - dataContracts?: GetDataContractsResponse.DataContracts.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, - } - - export class DataContractValue extends jspb.Message { - getValue(): Uint8Array | string; - getValue_asU8(): Uint8Array; - getValue_asB64(): string; - setValue(value: Uint8Array | string): void; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DataContractValue.AsObject; - static toObject(includeInstance: boolean, msg: DataContractValue): DataContractValue.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DataContractValue, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DataContractValue; - static deserializeBinaryFromReader(message: DataContractValue, reader: jspb.BinaryReader): DataContractValue; - } - - export namespace DataContractValue { - export type AsObject = { - value: Uint8Array | string, - } + v0?: GetDataContractsResponse.GetDataContractsResponseV0.AsObject, } export class DataContractEntry extends jspb.Message { - getKey(): Uint8Array | string; - getKey_asU8(): Uint8Array; - getKey_asB64(): string; - setKey(value: Uint8Array | string): void; + getIdentifier(): Uint8Array | string; + getIdentifier_asU8(): Uint8Array; + getIdentifier_asB64(): string; + setIdentifier(value: Uint8Array | string): void; - hasValue(): boolean; - clearValue(): void; - getValue(): GetDataContractsResponse.DataContractValue | undefined; - setValue(value?: GetDataContractsResponse.DataContractValue): void; + hasDataContract(): boolean; + clearDataContract(): void; + getDataContract(): google_protobuf_wrappers_pb.BytesValue | undefined; + setDataContract(value?: google_protobuf_wrappers_pb.BytesValue): void; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): DataContractEntry.AsObject; @@ -1226,8 +1476,8 @@ export namespace GetDataContractsResponse { export namespace DataContractEntry { export type AsObject = { - key: Uint8Array | string, - value?: GetDataContractsResponse.DataContractValue.AsObject, + identifier: Uint8Array | string, + dataContract?: google_protobuf_wrappers_pb.BytesValue.AsObject, } } @@ -1253,35 +1503,60 @@ export namespace GetDataContractsResponse { } } - export enum ResultCase { - RESULT_NOT_SET = 0, - DATA_CONTRACTS = 1, - PROOF = 2, - } -} + export class GetDataContractsResponseV0 extends jspb.Message { + hasDataContracts(): boolean; + clearDataContracts(): void; + getDataContracts(): GetDataContractsResponse.DataContracts | undefined; + setDataContracts(value?: GetDataContractsResponse.DataContracts): void; -export class GetDataContractHistoryRequest extends jspb.Message { - getId(): Uint8Array | string; - getId_asU8(): Uint8Array; - getId_asB64(): string; - setId(value: Uint8Array | string): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; - hasLimit(): boolean; - clearLimit(): void; - getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; - hasOffset(): boolean; - clearOffset(): void; - getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; - setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; + getResultCase(): GetDataContractsResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetDataContractsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractsResponseV0): GetDataContractsResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetDataContractsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractsResponseV0; + static deserializeBinaryFromReader(message: GetDataContractsResponseV0, reader: jspb.BinaryReader): GetDataContractsResponseV0; + } - getStartAtMs(): number; - setStartAtMs(value: number): void; + export namespace GetDataContractsResponseV0 { + export type AsObject = { + dataContracts?: GetDataContractsResponse.DataContracts.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } - getProve(): boolean; - setProve(value: boolean): void; + export enum ResultCase { + RESULT_NOT_SET = 0, + DATA_CONTRACTS = 1, + PROOF = 2, + } + } + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetDataContractHistoryRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 | undefined; + setV0(value?: GetDataContractHistoryRequest.GetDataContractHistoryRequestV0): void; + + getVersionCase(): GetDataContractHistoryRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetDataContractHistoryRequest.AsObject; static toObject(includeInstance: boolean, msg: GetDataContractHistoryRequest): GetDataContractHistoryRequest.AsObject; @@ -1294,31 +1569,64 @@ export class GetDataContractHistoryRequest extends jspb.Message { export namespace GetDataContractHistoryRequest { export type AsObject = { - id: Uint8Array | string, - limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, - startAtMs: number, - prove: boolean, + v0?: GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.AsObject, + } + + export class GetDataContractHistoryRequestV0 extends jspb.Message { + getId(): Uint8Array | string; + getId_asU8(): Uint8Array; + getId_asB64(): string; + setId(value: Uint8Array | string): void; + + hasLimit(): boolean; + clearLimit(): void; + getLimit(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setLimit(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + hasOffset(): boolean; + clearOffset(): void; + getOffset(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setOffset(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + getStartAtMs(): number; + setStartAtMs(value: number): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetDataContractHistoryRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractHistoryRequestV0): GetDataContractHistoryRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetDataContractHistoryRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryRequestV0; + static deserializeBinaryFromReader(message: GetDataContractHistoryRequestV0, reader: jspb.BinaryReader): GetDataContractHistoryRequestV0; + } + + export namespace GetDataContractHistoryRequestV0 { + export type AsObject = { + id: Uint8Array | string, + limit?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + offset?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + startAtMs: number, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetDataContractHistoryResponse extends jspb.Message { - hasDataContractHistory(): boolean; - clearDataContractHistory(): void; - getDataContractHistory(): GetDataContractHistoryResponse.DataContractHistory | undefined; - setDataContractHistory(value?: GetDataContractHistoryResponse.DataContractHistory): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetDataContractHistoryResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 | undefined; + setV0(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0): void; + + getVersionCase(): GetDataContractHistoryResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetDataContractHistoryResponse.AsObject; static toObject(includeInstance: boolean, msg: GetDataContractHistoryResponse): GetDataContractHistoryResponse.AsObject; @@ -1331,106 +1639,111 @@ export class GetDataContractHistoryResponse extends jspb.Message { export namespace GetDataContractHistoryResponse { export type AsObject = { - dataContractHistory?: GetDataContractHistoryResponse.DataContractHistory.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.AsObject, } - export class DataContractHistoryEntry extends jspb.Message { - getDate(): number; - setDate(value: number): void; + export class GetDataContractHistoryResponseV0 extends jspb.Message { + hasDataContractHistory(): boolean; + clearDataContractHistory(): void; + getDataContractHistory(): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory | undefined; + setDataContractHistory(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory): void; - getValue(): Uint8Array | string; - getValue_asU8(): Uint8Array; - getValue_asB64(): string; - setValue(value: Uint8Array | string): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + getResultCase(): GetDataContractHistoryResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DataContractHistoryEntry.AsObject; - static toObject(includeInstance: boolean, msg: DataContractHistoryEntry): DataContractHistoryEntry.AsObject; + toObject(includeInstance?: boolean): GetDataContractHistoryResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDataContractHistoryResponseV0): GetDataContractHistoryResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DataContractHistoryEntry, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DataContractHistoryEntry; - static deserializeBinaryFromReader(message: DataContractHistoryEntry, reader: jspb.BinaryReader): DataContractHistoryEntry; + static serializeBinaryToWriter(message: GetDataContractHistoryResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDataContractHistoryResponseV0; + static deserializeBinaryFromReader(message: GetDataContractHistoryResponseV0, reader: jspb.BinaryReader): GetDataContractHistoryResponseV0; } - export namespace DataContractHistoryEntry { + export namespace GetDataContractHistoryResponseV0 { export type AsObject = { - date: number, - value: Uint8Array | string, + dataContractHistory?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, } - } - export class DataContractHistory extends jspb.Message { - clearDataContractEntriesList(): void; - getDataContractEntriesList(): Array; - setDataContractEntriesList(value: Array): void; - addDataContractEntries(value?: GetDataContractHistoryResponse.DataContractHistoryEntry, index?: number): GetDataContractHistoryResponse.DataContractHistoryEntry; + export class DataContractHistoryEntry extends jspb.Message { + getDate(): number; + setDate(value: number): void; + + getValue(): Uint8Array | string; + getValue_asU8(): Uint8Array; + getValue_asB64(): string; + setValue(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DataContractHistoryEntry.AsObject; + static toObject(includeInstance: boolean, msg: DataContractHistoryEntry): DataContractHistoryEntry.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DataContractHistoryEntry, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DataContractHistoryEntry; + static deserializeBinaryFromReader(message: DataContractHistoryEntry, reader: jspb.BinaryReader): DataContractHistoryEntry; + } - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DataContractHistory.AsObject; - static toObject(includeInstance: boolean, msg: DataContractHistory): DataContractHistory.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DataContractHistory, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DataContractHistory; - static deserializeBinaryFromReader(message: DataContractHistory, reader: jspb.BinaryReader): DataContractHistory; - } + export namespace DataContractHistoryEntry { + export type AsObject = { + date: number, + value: Uint8Array | string, + } + } - export namespace DataContractHistory { - export type AsObject = { - dataContractEntriesList: Array, + export class DataContractHistory extends jspb.Message { + clearDataContractEntriesList(): void; + getDataContractEntriesList(): Array; + setDataContractEntriesList(value: Array): void; + addDataContractEntries(value?: GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, index?: number): GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DataContractHistory.AsObject; + static toObject(includeInstance: boolean, msg: DataContractHistory): DataContractHistory.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DataContractHistory, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DataContractHistory; + static deserializeBinaryFromReader(message: DataContractHistory, reader: jspb.BinaryReader): DataContractHistory; + } + + export namespace DataContractHistory { + export type AsObject = { + dataContractEntriesList: Array, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + DATA_CONTRACT_HISTORY = 1, + PROOF = 2, } } - export enum ResultCase { - RESULT_NOT_SET = 0, - DATA_CONTRACT_HISTORY = 1, - PROOF = 2, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetDocumentsRequest extends jspb.Message { - getDataContractId(): Uint8Array | string; - getDataContractId_asU8(): Uint8Array; - getDataContractId_asB64(): string; - setDataContractId(value: Uint8Array | string): void; - - getDocumentType(): string; - setDocumentType(value: string): void; - - getWhere(): Uint8Array | string; - getWhere_asU8(): Uint8Array; - getWhere_asB64(): string; - setWhere(value: Uint8Array | string): void; - - getOrderBy(): Uint8Array | string; - getOrderBy_asU8(): Uint8Array; - getOrderBy_asB64(): string; - setOrderBy(value: Uint8Array | string): void; - - getLimit(): number; - setLimit(value: number): void; - - hasStartAfter(): boolean; - clearStartAfter(): void; - getStartAfter(): Uint8Array | string; - getStartAfter_asU8(): Uint8Array; - getStartAfter_asB64(): string; - setStartAfter(value: Uint8Array | string): void; - - hasStartAt(): boolean; - clearStartAt(): void; - getStartAt(): Uint8Array | string; - getStartAt_asU8(): Uint8Array; - getStartAt_asB64(): string; - setStartAt(value: Uint8Array | string): void; - - getProve(): boolean; - setProve(value: boolean): void; - - getStartCase(): GetDocumentsRequest.StartCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetDocumentsRequest.GetDocumentsRequestV0 | undefined; + setV0(value?: GetDocumentsRequest.GetDocumentsRequestV0): void; + + getVersionCase(): GetDocumentsRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetDocumentsRequest.AsObject; static toObject(includeInstance: boolean, msg: GetDocumentsRequest): GetDocumentsRequest.AsObject; @@ -1443,40 +1756,91 @@ export class GetDocumentsRequest extends jspb.Message { export namespace GetDocumentsRequest { export type AsObject = { - dataContractId: Uint8Array | string, - documentType: string, - where: Uint8Array | string, - orderBy: Uint8Array | string, - limit: number, - startAfter: Uint8Array | string, - startAt: Uint8Array | string, - prove: boolean, + v0?: GetDocumentsRequest.GetDocumentsRequestV0.AsObject, + } + + export class GetDocumentsRequestV0 extends jspb.Message { + getDataContractId(): Uint8Array | string; + getDataContractId_asU8(): Uint8Array; + getDataContractId_asB64(): string; + setDataContractId(value: Uint8Array | string): void; + + getDocumentType(): string; + setDocumentType(value: string): void; + + getWhere(): Uint8Array | string; + getWhere_asU8(): Uint8Array; + getWhere_asB64(): string; + setWhere(value: Uint8Array | string): void; + + getOrderBy(): Uint8Array | string; + getOrderBy_asU8(): Uint8Array; + getOrderBy_asB64(): string; + setOrderBy(value: Uint8Array | string): void; + + getLimit(): number; + setLimit(value: number): void; + + hasStartAfter(): boolean; + clearStartAfter(): void; + getStartAfter(): Uint8Array | string; + getStartAfter_asU8(): Uint8Array; + getStartAfter_asB64(): string; + setStartAfter(value: Uint8Array | string): void; + + hasStartAt(): boolean; + clearStartAt(): void; + getStartAt(): Uint8Array | string; + getStartAt_asU8(): Uint8Array; + getStartAt_asB64(): string; + setStartAt(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + getStartCase(): GetDocumentsRequestV0.StartCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetDocumentsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDocumentsRequestV0): GetDocumentsRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetDocumentsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDocumentsRequestV0; + static deserializeBinaryFromReader(message: GetDocumentsRequestV0, reader: jspb.BinaryReader): GetDocumentsRequestV0; + } + + export namespace GetDocumentsRequestV0 { + export type AsObject = { + dataContractId: Uint8Array | string, + documentType: string, + where: Uint8Array | string, + orderBy: Uint8Array | string, + limit: number, + startAfter: Uint8Array | string, + startAt: Uint8Array | string, + prove: boolean, + } + + export enum StartCase { + START_NOT_SET = 0, + START_AFTER = 6, + START_AT = 7, + } } - export enum StartCase { - START_NOT_SET = 0, - START_AFTER = 6, - START_AT = 7, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetDocumentsResponse extends jspb.Message { - hasDocuments(): boolean; - clearDocuments(): void; - getDocuments(): GetDocumentsResponse.Documents | undefined; - setDocuments(value?: GetDocumentsResponse.Documents): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetDocumentsResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetDocumentsResponse.GetDocumentsResponseV0 | undefined; + setV0(value?: GetDocumentsResponse.GetDocumentsResponseV0): void; + + getVersionCase(): GetDocumentsResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetDocumentsResponse.AsObject; static toObject(includeInstance: boolean, msg: GetDocumentsResponse): GetDocumentsResponse.AsObject; @@ -1489,53 +1853,87 @@ export class GetDocumentsResponse extends jspb.Message { export namespace GetDocumentsResponse { export type AsObject = { - documents?: GetDocumentsResponse.Documents.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetDocumentsResponse.GetDocumentsResponseV0.AsObject, } - export class Documents extends jspb.Message { - clearDocumentsList(): void; - getDocumentsList(): Array; - getDocumentsList_asU8(): Array; - getDocumentsList_asB64(): Array; - setDocumentsList(value: Array): void; - addDocuments(value: Uint8Array | string, index?: number): Uint8Array | string; + export class GetDocumentsResponseV0 extends jspb.Message { + hasDocuments(): boolean; + clearDocuments(): void; + getDocuments(): GetDocumentsResponse.GetDocumentsResponseV0.Documents | undefined; + setDocuments(value?: GetDocumentsResponse.GetDocumentsResponseV0.Documents): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetDocumentsResponseV0.ResultCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Documents.AsObject; - static toObject(includeInstance: boolean, msg: Documents): Documents.AsObject; + toObject(includeInstance?: boolean): GetDocumentsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetDocumentsResponseV0): GetDocumentsResponseV0.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Documents, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Documents; - static deserializeBinaryFromReader(message: Documents, reader: jspb.BinaryReader): Documents; + static serializeBinaryToWriter(message: GetDocumentsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetDocumentsResponseV0; + static deserializeBinaryFromReader(message: GetDocumentsResponseV0, reader: jspb.BinaryReader): GetDocumentsResponseV0; } - export namespace Documents { + export namespace GetDocumentsResponseV0 { export type AsObject = { - documentsList: Array, + documents?: GetDocumentsResponse.GetDocumentsResponseV0.Documents.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class Documents extends jspb.Message { + clearDocumentsList(): void; + getDocumentsList(): Array; + getDocumentsList_asU8(): Array; + getDocumentsList_asB64(): Array; + setDocumentsList(value: Array): void; + addDocuments(value: Uint8Array | string, index?: number): Uint8Array | string; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Documents.AsObject; + static toObject(includeInstance: boolean, msg: Documents): Documents.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Documents, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Documents; + static deserializeBinaryFromReader(message: Documents, reader: jspb.BinaryReader): Documents; + } + + export namespace Documents { + export type AsObject = { + documentsList: Array, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + DOCUMENTS = 1, + PROOF = 2, } } - export enum ResultCase { - RESULT_NOT_SET = 0, - DOCUMENTS = 1, - PROOF = 2, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentitiesByPublicKeyHashesRequest extends jspb.Message { - clearPublicKeyHashesList(): void; - getPublicKeyHashesList(): Array; - getPublicKeyHashesList_asU8(): Array; - getPublicKeyHashesList_asB64(): Array; - setPublicKeyHashesList(value: Array): void; - addPublicKeyHashes(value: Uint8Array | string, index?: number): Uint8Array | string; - - getProve(): boolean; - setProve(value: boolean): void; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 | undefined; + setV0(value?: GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0): void; + getVersionCase(): GetIdentitiesByPublicKeyHashesRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentitiesByPublicKeyHashesRequest.AsObject; static toObject(includeInstance: boolean, msg: GetIdentitiesByPublicKeyHashesRequest): GetIdentitiesByPublicKeyHashesRequest.AsObject; @@ -1548,28 +1946,50 @@ export class GetIdentitiesByPublicKeyHashesRequest extends jspb.Message { export namespace GetIdentitiesByPublicKeyHashesRequest { export type AsObject = { - publicKeyHashesList: Array, - prove: boolean, + v0?: GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.AsObject, + } + + export class GetIdentitiesByPublicKeyHashesRequestV0 extends jspb.Message { + clearPublicKeyHashesList(): void; + getPublicKeyHashesList(): Array; + getPublicKeyHashesList_asU8(): Array; + getPublicKeyHashesList_asB64(): Array; + setPublicKeyHashesList(value: Array): void; + addPublicKeyHashes(value: Uint8Array | string, index?: number): Uint8Array | string; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentitiesByPublicKeyHashesRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesByPublicKeyHashesRequestV0): GetIdentitiesByPublicKeyHashesRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentitiesByPublicKeyHashesRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesByPublicKeyHashesRequestV0; + static deserializeBinaryFromReader(message: GetIdentitiesByPublicKeyHashesRequestV0, reader: jspb.BinaryReader): GetIdentitiesByPublicKeyHashesRequestV0; + } + + export namespace GetIdentitiesByPublicKeyHashesRequestV0 { + export type AsObject = { + publicKeyHashesList: Array, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetIdentitiesByPublicKeyHashesResponse extends jspb.Message { - hasIdentities(): boolean; - clearIdentities(): void; - getIdentities(): GetIdentitiesByPublicKeyHashesResponse.Identities | undefined; - setIdentities(value?: GetIdentitiesByPublicKeyHashesResponse.Identities): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): GetIdentitiesByPublicKeyHashesResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 | undefined; + setV0(value?: GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0): void; + + getVersionCase(): GetIdentitiesByPublicKeyHashesResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetIdentitiesByPublicKeyHashesResponse.AsObject; static toObject(includeInstance: boolean, msg: GetIdentitiesByPublicKeyHashesResponse): GetIdentitiesByPublicKeyHashesResponse.AsObject; @@ -1582,120 +2002,238 @@ export class GetIdentitiesByPublicKeyHashesResponse extends jspb.Message { export namespace GetIdentitiesByPublicKeyHashesResponse { export type AsObject = { - identities?: GetIdentitiesByPublicKeyHashesResponse.Identities.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.AsObject, } - export class Identities extends jspb.Message { - clearIdentitiesList(): void; - getIdentitiesList(): Array; - getIdentitiesList_asU8(): Array; - getIdentitiesList_asB64(): Array; - setIdentitiesList(value: Array): void; - addIdentities(value: Uint8Array | string, index?: number): Uint8Array | string; + export class PublicKeyHashIdentityEntry extends jspb.Message { + getPublicKeyHash(): Uint8Array | string; + getPublicKeyHash_asU8(): Uint8Array; + getPublicKeyHash_asB64(): string; + setPublicKeyHash(value: Uint8Array | string): void; + + hasValue(): boolean; + clearValue(): void; + getValue(): google_protobuf_wrappers_pb.BytesValue | undefined; + setValue(value?: google_protobuf_wrappers_pb.BytesValue): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Identities.AsObject; - static toObject(includeInstance: boolean, msg: Identities): Identities.AsObject; + toObject(includeInstance?: boolean): PublicKeyHashIdentityEntry.AsObject; + static toObject(includeInstance: boolean, msg: PublicKeyHashIdentityEntry): PublicKeyHashIdentityEntry.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Identities, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Identities; - static deserializeBinaryFromReader(message: Identities, reader: jspb.BinaryReader): Identities; + static serializeBinaryToWriter(message: PublicKeyHashIdentityEntry, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): PublicKeyHashIdentityEntry; + static deserializeBinaryFromReader(message: PublicKeyHashIdentityEntry, reader: jspb.BinaryReader): PublicKeyHashIdentityEntry; } - export namespace Identities { + export namespace PublicKeyHashIdentityEntry { export type AsObject = { - identitiesList: Array, + publicKeyHash: Uint8Array | string, + value?: google_protobuf_wrappers_pb.BytesValue.AsObject, } } - export enum ResultCase { - RESULT_NOT_SET = 0, - IDENTITIES = 1, - PROOF = 2, + export class IdentitiesByPublicKeyHashes extends jspb.Message { + clearIdentityEntriesList(): void; + getIdentityEntriesList(): Array; + setIdentityEntriesList(value: Array): void; + addIdentityEntries(value?: GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, index?: number): GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): IdentitiesByPublicKeyHashes.AsObject; + static toObject(includeInstance: boolean, msg: IdentitiesByPublicKeyHashes): IdentitiesByPublicKeyHashes.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: IdentitiesByPublicKeyHashes, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): IdentitiesByPublicKeyHashes; + static deserializeBinaryFromReader(message: IdentitiesByPublicKeyHashes, reader: jspb.BinaryReader): IdentitiesByPublicKeyHashes; + } + + export namespace IdentitiesByPublicKeyHashes { + export type AsObject = { + identityEntriesList: Array, + } } -} -export class GetIdentityByPublicKeyHashesRequest extends jspb.Message { - getPublicKeyHash(): Uint8Array | string; - getPublicKeyHash_asU8(): Uint8Array; - getPublicKeyHash_asB64(): string; - setPublicKeyHash(value: Uint8Array | string): void; + export class GetIdentitiesByPublicKeyHashesResponseV0 extends jspb.Message { + hasIdentities(): boolean; + clearIdentities(): void; + getIdentities(): GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes | undefined; + setIdentities(value?: GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes): void; - getProve(): boolean; - setProve(value: boolean): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetIdentitiesByPublicKeyHashesResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentitiesByPublicKeyHashesResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentitiesByPublicKeyHashesResponseV0): GetIdentitiesByPublicKeyHashesResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentitiesByPublicKeyHashesResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentitiesByPublicKeyHashesResponseV0; + static deserializeBinaryFromReader(message: GetIdentitiesByPublicKeyHashesResponseV0, reader: jspb.BinaryReader): GetIdentitiesByPublicKeyHashesResponseV0; + } + + export namespace GetIdentitiesByPublicKeyHashesResponseV0 { + export type AsObject = { + identities?: GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + IDENTITIES = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetIdentityByPublicKeyHashRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 | undefined; + setV0(value?: GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0): void; + + getVersionCase(): GetIdentityByPublicKeyHashRequest.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashesRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashesRequest): GetIdentityByPublicKeyHashesRequest.AsObject; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashRequest): GetIdentityByPublicKeyHashRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashesRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashesRequest; - static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashesRequest, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashesRequest; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashRequest; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashRequest, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashRequest; } -export namespace GetIdentityByPublicKeyHashesRequest { +export namespace GetIdentityByPublicKeyHashRequest { export type AsObject = { - publicKeyHash: Uint8Array | string, - prove: boolean, + v0?: GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.AsObject, + } + + export class GetIdentityByPublicKeyHashRequestV0 extends jspb.Message { + getPublicKeyHash(): Uint8Array | string; + getPublicKeyHash_asU8(): Uint8Array; + getPublicKeyHash_asB64(): string; + setPublicKeyHash(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashRequestV0): GetIdentityByPublicKeyHashRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashRequestV0; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashRequestV0, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashRequestV0; } -} -export class GetIdentityByPublicKeyHashesResponse extends jspb.Message { - hasIdentity(): boolean; - clearIdentity(): void; - getIdentity(): Uint8Array | string; - getIdentity_asU8(): Uint8Array; - getIdentity_asB64(): string; - setIdentity(value: Uint8Array | string): void; + export namespace GetIdentityByPublicKeyHashRequestV0 { + export type AsObject = { + publicKeyHash: Uint8Array | string, + prove: boolean, + } + } - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; +export class GetIdentityByPublicKeyHashResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 | undefined; + setV0(value?: GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0): void; - getResultCase(): GetIdentityByPublicKeyHashesResponse.ResultCase; + getVersionCase(): GetIdentityByPublicKeyHashResponse.VersionCase; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashesResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashesResponse): GetIdentityByPublicKeyHashesResponse.AsObject; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashResponse): GetIdentityByPublicKeyHashResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashesResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashesResponse; - static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashesResponse, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashesResponse; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashResponse; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashResponse, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashResponse; } -export namespace GetIdentityByPublicKeyHashesResponse { +export namespace GetIdentityByPublicKeyHashResponse { export type AsObject = { - identity: Uint8Array | string, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.AsObject, } - export enum ResultCase { - RESULT_NOT_SET = 0, - IDENTITY = 1, - PROOF = 2, + export class GetIdentityByPublicKeyHashResponseV0 extends jspb.Message { + hasIdentity(): boolean; + clearIdentity(): void; + getIdentity(): Uint8Array | string; + getIdentity_asU8(): Uint8Array; + getIdentity_asB64(): string; + setIdentity(value: Uint8Array | string): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetIdentityByPublicKeyHashResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetIdentityByPublicKeyHashResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetIdentityByPublicKeyHashResponseV0): GetIdentityByPublicKeyHashResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetIdentityByPublicKeyHashResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetIdentityByPublicKeyHashResponseV0; + static deserializeBinaryFromReader(message: GetIdentityByPublicKeyHashResponseV0, reader: jspb.BinaryReader): GetIdentityByPublicKeyHashResponseV0; + } + + export namespace GetIdentityByPublicKeyHashResponseV0 { + export type AsObject = { + identity: Uint8Array | string, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + IDENTITY = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class WaitForStateTransitionResultRequest extends jspb.Message { - getStateTransitionHash(): Uint8Array | string; - getStateTransitionHash_asU8(): Uint8Array; - getStateTransitionHash_asB64(): string; - setStateTransitionHash(value: Uint8Array | string): void; - - getProve(): boolean; - setProve(value: boolean): void; + hasV0(): boolean; + clearV0(): void; + getV0(): WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 | undefined; + setV0(value?: WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0): void; + getVersionCase(): WaitForStateTransitionResultRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): WaitForStateTransitionResultRequest.AsObject; static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultRequest): WaitForStateTransitionResultRequest.AsObject; @@ -1708,28 +2246,48 @@ export class WaitForStateTransitionResultRequest extends jspb.Message { export namespace WaitForStateTransitionResultRequest { export type AsObject = { - stateTransitionHash: Uint8Array | string, - prove: boolean, + v0?: WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.AsObject, + } + + export class WaitForStateTransitionResultRequestV0 extends jspb.Message { + getStateTransitionHash(): Uint8Array | string; + getStateTransitionHash_asU8(): Uint8Array; + getStateTransitionHash_asB64(): string; + setStateTransitionHash(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): WaitForStateTransitionResultRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultRequestV0): WaitForStateTransitionResultRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: WaitForStateTransitionResultRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultRequestV0; + static deserializeBinaryFromReader(message: WaitForStateTransitionResultRequestV0, reader: jspb.BinaryReader): WaitForStateTransitionResultRequestV0; + } + + export namespace WaitForStateTransitionResultRequestV0 { + export type AsObject = { + stateTransitionHash: Uint8Array | string, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class WaitForStateTransitionResultResponse extends jspb.Message { - hasError(): boolean; - clearError(): void; - getError(): StateTransitionBroadcastError | undefined; - setError(value?: StateTransitionBroadcastError): void; - - hasProof(): boolean; - clearProof(): void; - getProof(): Proof | undefined; - setProof(value?: Proof): void; - - hasMetadata(): boolean; - clearMetadata(): void; - getMetadata(): ResponseMetadata | undefined; - setMetadata(value?: ResponseMetadata): void; - - getResultCase(): WaitForStateTransitionResultResponse.ResultCase; + hasV0(): boolean; + clearV0(): void; + getV0(): WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 | undefined; + setV0(value?: WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0): void; + + getVersionCase(): WaitForStateTransitionResultResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): WaitForStateTransitionResultResponse.AsObject; static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultResponse): WaitForStateTransitionResultResponse.AsObject; @@ -1742,81 +2300,63 @@ export class WaitForStateTransitionResultResponse extends jspb.Message { export namespace WaitForStateTransitionResultResponse { export type AsObject = { - error?: StateTransitionBroadcastError.AsObject, - proof?: Proof.AsObject, - metadata?: ResponseMetadata.AsObject, + v0?: WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.AsObject, } - export enum ResultCase { - RESULT_NOT_SET = 0, - ERROR = 1, - PROOF = 2, - } -} - -export class ConsensusParamsBlock extends jspb.Message { - getMaxBytes(): string; - setMaxBytes(value: string): void; + export class WaitForStateTransitionResultResponseV0 extends jspb.Message { + hasError(): boolean; + clearError(): void; + getError(): StateTransitionBroadcastError | undefined; + setError(value?: StateTransitionBroadcastError): void; - getMaxGas(): string; - setMaxGas(value: string): void; + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; - getTimeIotaMs(): string; - setTimeIotaMs(value: string): void; + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ConsensusParamsBlock.AsObject; - static toObject(includeInstance: boolean, msg: ConsensusParamsBlock): ConsensusParamsBlock.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ConsensusParamsBlock, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ConsensusParamsBlock; - static deserializeBinaryFromReader(message: ConsensusParamsBlock, reader: jspb.BinaryReader): ConsensusParamsBlock; -} - -export namespace ConsensusParamsBlock { - export type AsObject = { - maxBytes: string, - maxGas: string, - timeIotaMs: string, + getResultCase(): WaitForStateTransitionResultResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): WaitForStateTransitionResultResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: WaitForStateTransitionResultResponseV0): WaitForStateTransitionResultResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: WaitForStateTransitionResultResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): WaitForStateTransitionResultResponseV0; + static deserializeBinaryFromReader(message: WaitForStateTransitionResultResponseV0, reader: jspb.BinaryReader): WaitForStateTransitionResultResponseV0; } -} - -export class ConsensusParamsEvidence extends jspb.Message { - getMaxAgeNumBlocks(): string; - setMaxAgeNumBlocks(value: string): void; - getMaxAgeDuration(): string; - setMaxAgeDuration(value: string): void; - - getMaxBytes(): string; - setMaxBytes(value: string): void; + export namespace WaitForStateTransitionResultResponseV0 { + export type AsObject = { + error?: StateTransitionBroadcastError.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ConsensusParamsEvidence.AsObject; - static toObject(includeInstance: boolean, msg: ConsensusParamsEvidence): ConsensusParamsEvidence.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ConsensusParamsEvidence, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ConsensusParamsEvidence; - static deserializeBinaryFromReader(message: ConsensusParamsEvidence, reader: jspb.BinaryReader): ConsensusParamsEvidence; -} + export enum ResultCase { + RESULT_NOT_SET = 0, + ERROR = 1, + PROOF = 2, + } + } -export namespace ConsensusParamsEvidence { - export type AsObject = { - maxAgeNumBlocks: string, - maxAgeDuration: string, - maxBytes: string, + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetConsensusParamsRequest extends jspb.Message { - getHeight(): number; - setHeight(value: number): void; - - getProve(): boolean; - setProve(value: boolean): void; + hasV0(): boolean; + clearV0(): void; + getV0(): GetConsensusParamsRequest.GetConsensusParamsRequestV0 | undefined; + setV0(value?: GetConsensusParamsRequest.GetConsensusParamsRequestV0): void; + getVersionCase(): GetConsensusParamsRequest.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetConsensusParamsRequest.AsObject; static toObject(includeInstance: boolean, msg: GetConsensusParamsRequest): GetConsensusParamsRequest.AsObject; @@ -1829,22 +2369,46 @@ export class GetConsensusParamsRequest extends jspb.Message { export namespace GetConsensusParamsRequest { export type AsObject = { - height: number, - prove: boolean, + v0?: GetConsensusParamsRequest.GetConsensusParamsRequestV0.AsObject, + } + + export class GetConsensusParamsRequestV0 extends jspb.Message { + getHeight(): number; + setHeight(value: number): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetConsensusParamsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetConsensusParamsRequestV0): GetConsensusParamsRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetConsensusParamsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetConsensusParamsRequestV0; + static deserializeBinaryFromReader(message: GetConsensusParamsRequestV0, reader: jspb.BinaryReader): GetConsensusParamsRequestV0; + } + + export namespace GetConsensusParamsRequestV0 { + export type AsObject = { + height: number, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } export class GetConsensusParamsResponse extends jspb.Message { - hasBlock(): boolean; - clearBlock(): void; - getBlock(): ConsensusParamsBlock | undefined; - setBlock(value?: ConsensusParamsBlock): void; - - hasEvidence(): boolean; - clearEvidence(): void; - getEvidence(): ConsensusParamsEvidence | undefined; - setEvidence(value?: ConsensusParamsEvidence): void; + hasV0(): boolean; + clearV0(): void; + getV0(): GetConsensusParamsResponse.GetConsensusParamsResponseV0 | undefined; + setV0(value?: GetConsensusParamsResponse.GetConsensusParamsResponseV0): void; + getVersionCase(): GetConsensusParamsResponse.VersionCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetConsensusParamsResponse.AsObject; static toObject(includeInstance: boolean, msg: GetConsensusParamsResponse): GetConsensusParamsResponse.AsObject; @@ -1857,8 +2421,96 @@ export class GetConsensusParamsResponse extends jspb.Message { export namespace GetConsensusParamsResponse { export type AsObject = { - block?: ConsensusParamsBlock.AsObject, - evidence?: ConsensusParamsEvidence.AsObject, + v0?: GetConsensusParamsResponse.GetConsensusParamsResponseV0.AsObject, + } + + export class ConsensusParamsBlock extends jspb.Message { + getMaxBytes(): string; + setMaxBytes(value: string): void; + + getMaxGas(): string; + setMaxGas(value: string): void; + + getTimeIotaMs(): string; + setTimeIotaMs(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ConsensusParamsBlock.AsObject; + static toObject(includeInstance: boolean, msg: ConsensusParamsBlock): ConsensusParamsBlock.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ConsensusParamsBlock, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConsensusParamsBlock; + static deserializeBinaryFromReader(message: ConsensusParamsBlock, reader: jspb.BinaryReader): ConsensusParamsBlock; + } + + export namespace ConsensusParamsBlock { + export type AsObject = { + maxBytes: string, + maxGas: string, + timeIotaMs: string, + } + } + + export class ConsensusParamsEvidence extends jspb.Message { + getMaxAgeNumBlocks(): string; + setMaxAgeNumBlocks(value: string): void; + + getMaxAgeDuration(): string; + setMaxAgeDuration(value: string): void; + + getMaxBytes(): string; + setMaxBytes(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ConsensusParamsEvidence.AsObject; + static toObject(includeInstance: boolean, msg: ConsensusParamsEvidence): ConsensusParamsEvidence.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ConsensusParamsEvidence, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConsensusParamsEvidence; + static deserializeBinaryFromReader(message: ConsensusParamsEvidence, reader: jspb.BinaryReader): ConsensusParamsEvidence; + } + + export namespace ConsensusParamsEvidence { + export type AsObject = { + maxAgeNumBlocks: string, + maxAgeDuration: string, + maxBytes: string, + } + } + + export class GetConsensusParamsResponseV0 extends jspb.Message { + hasBlock(): boolean; + clearBlock(): void; + getBlock(): GetConsensusParamsResponse.ConsensusParamsBlock | undefined; + setBlock(value?: GetConsensusParamsResponse.ConsensusParamsBlock): void; + + hasEvidence(): boolean; + clearEvidence(): void; + getEvidence(): GetConsensusParamsResponse.ConsensusParamsEvidence | undefined; + setEvidence(value?: GetConsensusParamsResponse.ConsensusParamsEvidence): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetConsensusParamsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetConsensusParamsResponseV0): GetConsensusParamsResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetConsensusParamsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetConsensusParamsResponseV0; + static deserializeBinaryFromReader(message: GetConsensusParamsResponseV0, reader: jspb.BinaryReader): GetConsensusParamsResponseV0; + } + + export namespace GetConsensusParamsResponseV0 { + export type AsObject = { + block?: GetConsensusParamsResponse.ConsensusParamsBlock.AsObject, + evidence?: GetConsensusParamsResponse.ConsensusParamsEvidence.AsObject, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, } } diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js index bedfc1c41d..709bb14fb2 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js @@ -24,68 +24,114 @@ goog.object.extend(proto, google_protobuf_timestamp_pb); goog.exportSymbol('proto.org.dash.platform.dapi.v0.AllKeys', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.ConsensusParamsBlock', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.Proof', null, { proto }); @@ -96,8 +142,12 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindReque goog.exportSymbol('proto.org.dash.platform.dapi.v0.SpecificKeys', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse', null, { proto }); -goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase', null, { proto }); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -214,7 +264,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.org.dash.platform.dapi.v0.GetIdentityRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_); }; goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -234,16 +284,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -255,16 +305,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest'; } /** * Generated by JsPbCodeGenerator. @@ -276,16 +326,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -297,16 +347,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest'; } /** * Generated by JsPbCodeGenerator. @@ -318,16 +368,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -339,16 +389,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities'; + proto.org.dash.platform.dapi.v0.GetIdentityResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityResponse'; } /** * Generated by JsPbCodeGenerator. @@ -360,16 +410,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -381,16 +431,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse'; + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesRequest'; } /** * Generated by JsPbCodeGenerator. @@ -402,16 +452,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision'; + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -423,16 +473,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.KeyRequestType = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.KeyRequestType, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.KeyRequestType.displayName = 'proto.org.dash.platform.dapi.v0.KeyRequestType'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse'; } /** * Generated by JsPbCodeGenerator. @@ -444,16 +494,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.AllKeys = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.AllKeys, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.AllKeys.displayName = 'proto.org.dash.platform.dapi.v0.AllKeys'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue'; } /** * Generated by JsPbCodeGenerator. @@ -465,16 +515,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.SpecificKeys = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.SpecificKeys, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.SpecificKeys.displayName = 'proto.org.dash.platform.dapi.v0.SpecificKeys'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry'; } /** * Generated by JsPbCodeGenerator. @@ -486,16 +536,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.SearchKey = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.SearchKey, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.SearchKey.displayName = 'proto.org.dash.platform.dapi.v0.SearchKey'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities'; } /** * Generated by JsPbCodeGenerator. @@ -507,16 +557,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.SecurityLevelMap, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.SecurityLevelMap.displayName = 'proto.org.dash.platform.dapi.v0.SecurityLevelMap'; + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -528,16 +578,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse'; } /** * Generated by JsPbCodeGenerator. @@ -549,16 +599,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -570,16 +620,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse'; } /** * Generated by JsPbCodeGenerator. @@ -591,16 +641,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -612,16 +662,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap'; + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision'; } /** * Generated by JsPbCodeGenerator. @@ -633,16 +683,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.KeyRequestType = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.KeyRequestType, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse'; + proto.org.dash.platform.dapi.v0.KeyRequestType.displayName = 'proto.org.dash.platform.dapi.v0.KeyRequestType'; } /** * Generated by JsPbCodeGenerator. @@ -654,16 +704,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey = function(opt_data) { +proto.org.dash.platform.dapi.v0.AllKeys = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.AllKeys, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey'; + proto.org.dash.platform.dapi.v0.AllKeys.displayName = 'proto.org.dash.platform.dapi.v0.AllKeys'; } /** * Generated by JsPbCodeGenerator. @@ -675,16 +725,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.SpecificKeys = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.SpecificKeys, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry'; + proto.org.dash.platform.dapi.v0.SpecificKeys.displayName = 'proto.org.dash.platform.dapi.v0.SpecificKeys'; } /** * Generated by JsPbCodeGenerator. @@ -696,16 +746,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.SearchKey = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.SearchKey, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries'; + proto.org.dash.platform.dapi.v0.SearchKey.displayName = 'proto.org.dash.platform.dapi.v0.SearchKey'; } /** * Generated by JsPbCodeGenerator. @@ -717,16 +767,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetProofsRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.SecurityLevelMap = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.SecurityLevelMap, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest'; + proto.org.dash.platform.dapi.v0.SecurityLevelMap.displayName = 'proto.org.dash.platform.dapi.v0.SecurityLevelMap'; } /** * Generated by JsPbCodeGenerator. @@ -738,16 +788,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest'; } /** * Generated by JsPbCodeGenerator. @@ -759,16 +809,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -780,16 +830,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse'; } /** * Generated by JsPbCodeGenerator. @@ -801,16 +851,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetProofsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetProofsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsResponse'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -822,16 +872,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractRequest'; + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys'; } /** * Generated by JsPbCodeGenerator. @@ -843,16 +893,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetProofsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractResponse'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest'; } /** * Generated by JsPbCodeGenerator. @@ -864,16 +914,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsRequest'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -885,16 +935,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest'; } /** * Generated by JsPbCodeGenerator. @@ -906,16 +956,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest'; } /** * Generated by JsPbCodeGenerator. @@ -927,16 +977,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry'; + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest'; } /** * Generated by JsPbCodeGenerator. @@ -948,16 +998,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetProofsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts'; + proto.org.dash.platform.dapi.v0.GetProofsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsResponse'; } /** * Generated by JsPbCodeGenerator. @@ -969,16 +1019,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest'; + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -990,16 +1040,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractRequest'; } /** * Generated by JsPbCodeGenerator. @@ -1011,16 +1061,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry'; + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -1032,16 +1082,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory'; + proto.org.dash.platform.dapi.v0.GetDataContractResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractResponse'; } /** * Generated by JsPbCodeGenerator. @@ -1053,16 +1103,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -1074,16 +1124,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsRequest'; } /** * Generated by JsPbCodeGenerator. @@ -1095,16 +1145,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents'; + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -1116,16 +1166,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse'; } /** * Generated by JsPbCodeGenerator. @@ -1137,16 +1187,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry'; } /** * Generated by JsPbCodeGenerator. @@ -1158,16 +1208,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.repeatedFields_, null); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts'; } /** * Generated by JsPbCodeGenerator. @@ -1179,16 +1229,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -1200,16 +1250,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest'; } /** * Generated by JsPbCodeGenerator. @@ -1221,16 +1271,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0 = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0'; } /** * Generated by JsPbCodeGenerator. @@ -1242,16 +1292,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse'; } /** * Generated by JsPbCodeGenerator. @@ -1263,16 +1313,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.ConsensusParamsBlock, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.displayName = 'proto.org.dash.platform.dapi.v0.ConsensusParamsBlock'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0'; } /** * Generated by JsPbCodeGenerator. @@ -1284,16 +1334,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence = function(opt_data) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.displayName = 'proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry'; } /** * Generated by JsPbCodeGenerator. @@ -1305,16 +1355,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_, null); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest'; + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.displayName = 'proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory'; } /** * Generated by JsPbCodeGenerator. @@ -1326,55 +1376,3730 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_); }; -goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse, jspb.Message); +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse'; + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsRequest'; } - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor */ -proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_); }; - - -/** - * Static version of the {@see toObject} method. +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.displayName = 'proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0'; +} + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { + var f, obj = { + grovedbProof: msg.getGrovedbProof_asB64(), + quorumHash: msg.getQuorumHash_asB64(), + signature: msg.getSignature_asB64(), + round: jspb.Message.getFieldWithDefault(msg, 4, 0), + blockIdHash: msg.getBlockIdHash_asB64(), + quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.Proof; + return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setGrovedbProof(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setQuorumHash(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setSignature(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setRound(value); + break; + case 5: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setBlockIdHash(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setQuorumType(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getGrovedbProof_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getQuorumHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } + f = message.getSignature_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getRound(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getBlockIdHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 5, + f + ); + } + f = message.getQuorumType(); + if (f !== 0) { + writer.writeUint32( + 6, + f + ); + } +}; + + +/** + * optional bytes grovedb_proof = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes grovedb_proof = 1; + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getGrovedbProof())); +}; + + +/** + * optional bytes grovedb_proof = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getGrovedbProof())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bytes quorum_hash = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes quorum_hash = 2; + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getQuorumHash())); +}; + + +/** + * optional bytes quorum_hash = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getQuorumHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); +}; + + +/** + * optional bytes signature = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes signature = 3; + * This is a type-conversion wrapper around `getSignature()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getSignature())); +}; + + +/** + * optional bytes signature = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getSignature()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getSignature())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + +/** + * optional uint32 round = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bytes block_id_hash = 5; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * optional bytes block_id_hash = 5; + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getBlockIdHash())); +}; + + +/** + * optional bytes block_id_hash = 5; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getBlockIdHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); +}; + + +/** + * optional uint32 quorum_type = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { + var f, obj = { + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), + timeMs: jspb.Message.getFieldWithDefault(msg, 3, 0), + protocolVersion: jspb.Message.getFieldWithDefault(msg, 4, 0), + chainId: jspb.Message.getFieldWithDefault(msg, 5, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setHeight(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreChainLockedHeight(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint64()); + msg.setTimeMs(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setProtocolVersion(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setChainId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getHeight(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getCoreChainLockedHeight(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getTimeMs(); + if (f !== 0) { + writer.writeUint64( + 3, + f + ); + } + f = message.getProtocolVersion(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getChainId(); + if (f.length > 0) { + writer.writeString( + 5, + f + ); + } +}; + + +/** + * optional uint64 height = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint32 core_chain_locked_height = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional uint64 time_ms = 3; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional uint32 protocol_version = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional string chain_id = 5; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { + return jspb.Message.setProto3StringField(this, 5, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { + var f, obj = { + code: jspb.Message.getFieldWithDefault(msg, 1, 0), + message: jspb.Message.getFieldWithDefault(msg, 2, ""), + data: msg.getData_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCode(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMessage(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setData(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCode(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getMessage(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getData_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } +}; + + +/** + * optional uint32 code = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional string message = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bytes data = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes data = 3; + * This is a type-conversion wrapper around `getData()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getData())); +}; + + +/** + * optional bytes data = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getData()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getData())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + stateTransition: msg.getStateTransition_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStateTransition(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getStateTransition_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes state_transition = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes state_transition = 1; + * This is a type-conversion wrapper around `getStateTransition()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStateTransition())); +}; + + +/** + * optional bytes state_transition = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStateTransition()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStateTransition())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceAndRevisionRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes identity = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); +}; + + +/** + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasIdentity = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentityResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * repeated bytes ids = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); +}; + + +/** + * repeated bytes ids = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentitiesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { var f, obj = { - grovedbProof: msg.getGrovedbProof_asB64(), - quorumHash: msg.getQuorumHash_asB64(), - signature: msg.getSignature_asB64(), - round: jspb.Message.getFieldWithDefault(msg, 4, 0), - blockIdHash: msg.getBlockIdHash_asB64(), - quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + value: msg.getValue_asB64() }; if (includeInstance) { @@ -1388,23 +5113,23 @@ proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.Proof; - return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1413,27 +5138,167 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setGrovedbProof(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setQuorumHash(value); + msg.setValue(value); break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setSignature(value); + default: + reader.skipField(); break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setRound(value); + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes value = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes value = 1; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); +}; + + +/** + * optional bytes value = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { + var f, obj = { + key: msg.getKey_asB64(), + value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { break; - case 5: + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setBlockIdHash(value); - break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setQuorumType(value); + msg.setKey(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); + msg.setValue(value); break; default: reader.skipField(); @@ -1448,9 +5313,9 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1458,261 +5323,295 @@ proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getGrovedbProof_asU8(); + f = message.getKey_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getQuorumHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getValue(); + if (f != null) { + writer.writeMessage( 2, - f - ); - } - f = message.getSignature_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getRound(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getBlockIdHash_asU8(); - if (f.length > 0) { - writer.writeBytes( - 5, - f - ); - } - f = message.getQuorumType(); - if (f !== 0) { - writer.writeUint32( - 6, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter ); } }; /** - * optional bytes grovedb_proof = 1; + * optional bytes key = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes grovedb_proof = 1; - * This is a type-conversion wrapper around `getGrovedbProof()` + * optional bytes key = 1; + * This is a type-conversion wrapper around `getKey()` * @return {string} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getGrovedbProof())); + this.getKey())); }; /** - * optional bytes grovedb_proof = 1; + * optional bytes key = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getGrovedbProof()` + * This is a type-conversion wrapper around `getKey()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getGrovedbProof())); + this.getKey())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bytes quorum_hash = 2; - * @return {string} + * optional IdentityValue value = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); }; /** - * optional bytes quorum_hash = 2; - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getQuorumHash())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional bytes quorum_hash = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getQuorumHash())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { + return jspb.Message.getField(this, 2) != null; }; + /** - * optional bytes signature = 3; - * @return {string} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes signature = 3; - * This is a type-conversion wrapper around `getSignature()` - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getSignature())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); }; /** - * optional bytes signature = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getSignature()` - * @return {!Uint8Array} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getSignature())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { + var f, obj = { + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); }; /** - * optional uint32 round = 4; - * @return {number} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional bytes block_id_hash = 5; - * @return {string} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentityEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter + ); + } }; /** - * optional bytes block_id_hash = 5; - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {string} + * repeated IdentityEntry identity_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getBlockIdHash())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional bytes block_id_hash = 5; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {!Uint8Array} + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getBlockIdHash())); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { - return jspb.Message.setProto3BytesField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); }; + /** - * optional uint32 quorum_type = 6; - * @return {number} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); -}; - +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_ = [[1,2]]; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0])); +}; @@ -1729,8 +5628,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(opt_includeInstance, this); }; @@ -1739,17 +5638,15 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), - timeMs: jspb.Message.getFieldWithDefault(msg, 3, 0), - protocolVersion: jspb.Message.getFieldWithDefault(msg, 4, 0), - chainId: jspb.Message.getFieldWithDefault(msg, 5, "") + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -1763,23 +5660,23 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1787,24 +5684,19 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setHeight(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); + msg.setIdentities(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCoreChainLockedHeight(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {number} */ (reader.readUint64()); - msg.setTimeMs(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setProtocolVersion(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.setChainId(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -1819,9 +5711,9 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1829,143 +5721,215 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeUint64( + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter ); } - f = message.getCoreChainLockedHeight(); - if (f !== 0) { - writer.writeUint32( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getTimeMs(); - if (f !== 0) { - writer.writeUint64( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f - ); - } - f = message.getProtocolVersion(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getChainId(); - if (f.length > 0) { - writer.writeString( - 5, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional uint64 height = 1; - * @return {number} + * optional Identities identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); }; /** - * optional uint32 core_chain_locked_height = 2; - * @return {number} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * optional uint64 time_ms = 3; - * @return {number} + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional uint32 protocol_version = 4; - * @return {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentitiesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1]]; /** - * optional string chain_id = 5; - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -1979,8 +5943,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); }; @@ -1989,15 +5953,13 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { var f, obj = { - code: jspb.Message.getFieldWithDefault(msg, 1, 0), - message: jspb.Message.getFieldWithDefault(msg, 2, ""), - data: msg.getData_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -2011,23 +5973,23 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2035,16 +5997,9 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCode(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMessage(value); - break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setData(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -2059,9 +6014,9 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2069,117 +6024,52 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getCode(); - if (f !== 0) { - writer.writeUint32( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getMessage(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getData_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter ); } }; -/** - * optional uint32 code = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional string message = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bytes data = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - /** - * optional bytes data = 3; - * This is a type-conversion wrapper around `getData()` - * @return {string} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getData())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_ = [[1,2]]; /** - * optional bytes data = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getData()` - * @return {!Uint8Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getData())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE: 1, + PROOF: 2 }; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -2193,8 +6083,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(opt_includeInstance, this); }; @@ -2203,13 +6093,15 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObje * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - stateTransition: msg.getStateTransition_asB64() + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -2223,23 +6115,23 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = funct /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2247,8 +6139,18 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransition(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -2263,175 +6165,220 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getStateTransition_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional uint64 balance = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setBalance = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearBalance = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasBalance = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bytes state_transition = 1; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bytes state_transition = 1; - * This is a type-conversion wrapper around `getStateTransition()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes state_transition = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransition()` - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityBalanceResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { - var f, obj = { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, 1)); +}; - }; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1]]; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @enum {number} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); +}; @@ -2448,8 +6395,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); }; @@ -2458,14 +6405,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -2479,23 +6425,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeIn /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2503,12 +6449,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -2523,96 +6466,30 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } -}; - - -/** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter + ); + } }; @@ -2625,22 +6502,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setProve = function * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase = { RESULT_NOT_SET: 0, - IDENTITY: 1, + BALANCE_AND_REVISION: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0])); }; @@ -2658,8 +6535,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(opt_includeInstance, this); }; @@ -2668,13 +6545,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), + balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -2690,23 +6567,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2714,8 +6591,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader); + msg.setBalanceAndRevision(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -2740,9 +6618,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2750,17 +6628,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getBalanceAndRevision(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter ); } f = message.getProof(); @@ -2782,54 +6661,191 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = fu }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes identity = 1; - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getIdentity = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(opt_includeInstance, this); }; /** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject = function(includeInstance, msg) { + var f, obj = { + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + revision: jspb.Message.getFieldWithDefault(msg, 2, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setRevision(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBalance(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getRevision(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } +}; + + +/** + * optional uint64 balance = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setBalance = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint64 revision = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getRevision = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setRevision = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional BalanceAndRevision balance_and_revision = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getBalanceAndRevision = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setBalanceAndRevision = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearBalanceAndRevision = function() { + return this.setBalanceAndRevision(undefined); }; @@ -2837,7 +6853,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearIdentity = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasIdentity = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasBalanceAndRevision = function() { return jspb.Message.getField(this, 1) != null; }; @@ -2846,7 +6862,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasIdentity = func * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -2854,18 +6870,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getProof = functio /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -2874,7 +6890,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearProof = funct * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -2883,7 +6899,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasProof = functio * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -2891,18 +6907,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getMetadata = func /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -2911,18 +6927,75 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearMetadata = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; +/** + * optional GetIdentityBalanceAndRevisionResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, 1)); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { + REQUEST_NOT_SET: 0, + ALL_KEYS: 1, + SPECIFIC_KEYS: 2, + SEARCH_KEY: 3 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + */ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); +}; @@ -2939,8 +7012,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); }; @@ -2949,14 +7022,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), + specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), + searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) }; if (includeInstance) { @@ -2970,23 +7044,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; + return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2994,12 +7068,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); + var value = new proto.org.dash.platform.dapi.v0.AllKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); + msg.setAllKeys(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); + msg.setSpecificKeys(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.SearchKey; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); + msg.setSearchKey(value); break; default: reader.skipField(); @@ -3014,9 +7095,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3024,137 +7105,153 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getAllKeys(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getSpecificKeys(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter + ); + } + f = message.getSearchKey(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter ); } }; /** - * repeated bytes ids = 1; - * @return {!Array} + * optional AllKeys all_keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); + * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); }; /** - * repeated bytes ids = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { + return this.setAllKeys(undefined); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * optional SpecificKeys specific_keys = 2; + * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.addIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { + return this.setSpecificKeys(undefined); }; /** - * optional bool prove = 2; + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * optional SearchKey search_key = 3; + * @return {?proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1,2]]; + * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + /** - * @enum {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { + return this.setSearchKey(undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { + return jspb.Message.getField(this, 3) != null; }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3168,8 +7265,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); }; @@ -3178,15 +7275,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = funct * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; if (includeInstance) { @@ -3200,44 +7295,29 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.AllKeys; + return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); - msg.setIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; default: reader.skipField(); break; @@ -3251,50 +7331,33 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getIdentities(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -3310,8 +7373,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); }; @@ -3320,13 +7383,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { var f, obj = { - value: msg.getValue_asB64() + keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f }; if (includeInstance) { @@ -3340,23 +7403,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; + return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3364,8 +7427,10 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); + for (var i = 0; i < values.length; i++) { + msg.addKeyIds(values[i]); + } break; default: reader.skipField(); @@ -3380,9 +7445,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3390,15 +7455,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getValue_asU8(); + f = message.getKeyIdsList(); if (f.length > 0) { - writer.writeBytes( + writer.writePackedUint32( 1, f ); @@ -3407,44 +7472,39 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBin /** - * optional bytes value = 1; - * @return {string} + * repeated uint32 key_ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional bytes value = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * @param {number} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { + return this.setKeyIdsList([]); }; @@ -3464,8 +7524,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); }; @@ -3474,14 +7534,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) + purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] }; if (includeInstance) { @@ -3495,23 +7554,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SearchKey; + return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3519,13 +7578,10 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); - msg.setValue(value); + var value = msg.getPurposeMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); + }); break; default: reader.skipField(); @@ -3540,9 +7596,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3550,116 +7606,41 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter - ); + f = message.getPurposeMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); } }; /** - * optional bytes key = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); -}; - - -/** - * optional bytes key = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional IdentityValue value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} + * map purpose_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + proto.org.dash.platform.dapi.v0.SecurityLevelMap)); }; - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { + this.getPurposeMapMap().clear(); + return this;}; + + @@ -3676,8 +7657,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); }; @@ -3686,14 +7667,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { var f, obj = { - identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] }; if (includeInstance) { @@ -3707,23 +7687,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3731,9 +7711,10 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); - msg.addIdentityEntries(value); + var value = msg.getSecurityLevelMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); + }); break; default: reader.skipField(); @@ -3748,9 +7729,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3758,198 +7739,188 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter - ); + f = message.getSecurityLevelMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); } }; /** - * repeated IdentityEntry identity_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { + CURRENT_KEY_OF_KIND_REQUEST: 0, + ALL_KEYS_OF_KIND_REQUEST: 1 }; - /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this + * map security_level_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { - return this.setIdentityEntriesList([]); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + null)); }; /** - * optional Identities identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); -}; - +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { + this.getSecurityLevelMapMap().clear(); + return this;}; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); -}; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearIdentities = function() { - return this.setIdentities(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_ = [[1]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0])); }; -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(includeInstance, f) + }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1,2]]; - /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter + ); + } }; -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); -}; + @@ -3965,9 +7936,9 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(opt_includeInstance, this); }; @@ -3976,15 +7947,17 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - balance: (f = msg.getBalance()) && google_protobuf_wrappers_pb.UInt64Value.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -3998,23 +7971,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4022,19 +7995,27 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new google_protobuf_wrappers_pb.UInt64Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt64Value.deserializeBinaryFromReader); - msg.setBalance(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); + msg.setRequestType(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 4: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -4049,9 +8030,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4059,101 +8040,120 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getBalance(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - google_protobuf_wrappers_pb.UInt64Value.serializeBinaryToWriter + f ); } - f = message.getProof(); + f = message.getRequestType(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getLimit(); if (f != null) { writer.writeMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getOffset(); + if (f != null) { + writer.writeMessage( + 4, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; /** - * optional google.protobuf.UInt64Value balance = 1; - * @return {?proto.google.protobuf.UInt64Value} + * optional bytes identity_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getBalance = function() { - return /** @type{?proto.google.protobuf.UInt64Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt64Value, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.google.protobuf.UInt64Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setBalance = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearBalance = function() { - return this.setBalance(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasBalance = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional KeyRequestType request_type = 2; + * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getRequestType = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setRequestType = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearRequestType = function() { + return this.setRequestType(undefined); }; @@ -4161,36 +8161,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearProof * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasRequestType = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional google.protobuf.UInt32Value limit = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setLimit = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; @@ -4198,182 +8198,131 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearMetada * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasLimit = function() { return jspb.Message.getField(this, 3) != null; }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional google.protobuf.UInt32Value offset = 4; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); +}; + /** - * @enum {number} + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 4, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE_AND_REVISION: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 4) != null; }; +/** + * optional bool prove = 5; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityKeysRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { - var f, obj = { - balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, 1)); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinaryFromReader); - msg.setBalanceAndRevision(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1]]; + /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBalanceAndRevision(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -4387,8 +8336,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); }; @@ -4397,14 +8346,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { var f, obj = { - balance: (f = msg.getBalance()) && google_protobuf_wrappers_pb.UInt64Value.toObject(includeInstance, f), - revision: (f = msg.getRevision()) && google_protobuf_wrappers_pb.UInt64Value.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -4418,23 +8366,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4442,14 +8390,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new google_protobuf_wrappers_pb.UInt64Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt64Value.deserializeBinaryFromReader); - msg.setBalance(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.UInt64Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt64Value.deserializeBinaryFromReader); - msg.setRevision(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -4464,9 +8407,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4474,243 +8417,198 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAnd /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getBalance(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - google_protobuf_wrappers_pb.UInt64Value.serializeBinaryToWriter - ); - } - f = message.getRevision(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt64Value.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter ); } }; -/** - * optional google.protobuf.UInt64Value balance = 1; - * @return {?proto.google.protobuf.UInt64Value} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.getBalance = function() { - return /** @type{?proto.google.protobuf.UInt64Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt64Value, 1)); -}; - - -/** - * @param {?proto.google.protobuf.UInt64Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.setBalance = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.clearBalance = function() { - return this.setBalance(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.hasBalance = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional google.protobuf.UInt64Value revision = 2; - * @return {?proto.google.protobuf.UInt64Value} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.getRevision = function() { - return /** @type{?proto.google.protobuf.UInt64Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt64Value, 2)); -}; - - -/** - * @param {?proto.google.protobuf.UInt64Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.setRevision = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.clearRevision = function() { - return this.setRevision(undefined); -}; - /** - * Returns whether this field is set. - * @return {boolean} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision.prototype.hasRevision = function() { - return jspb.Message.getField(this, 2) != null; -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_ = [[1,2]]; /** - * optional BalanceAndRevision balance_and_revision = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getBalanceAndRevision = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.BalanceAndRevision|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setBalanceAndRevision = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + KEYS: 1, + PROOF: 2 }; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearBalanceAndRevision = function() { - return this.setBalanceAndRevision(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0])); }; -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasBalanceAndRevision = function() { - return jspb.Message.getField(this, 1) != null; -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(opt_includeInstance, this); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearProof = function() { - return this.setProof(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader); + msg.setKeys(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; - + /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { - REQUEST_NOT_SET: 0, - ALL_KEYS: 1, - SPECIFIC_KEYS: 2, - SEARCH_KEY: 3 +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getKeys(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + /** - * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_ = [1]; @@ -4727,8 +8625,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(opt_includeInstance, this); }; @@ -4737,15 +8635,13 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject = function(includeInstance, msg) { var f, obj = { - allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), - specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), - searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) + keysBytesList: msg.getKeysBytesList_asB64() }; if (includeInstance) { @@ -4759,23 +8655,23 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; - return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4783,19 +8679,8 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.AllKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); - msg.setAllKeys(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); - msg.setSpecificKeys(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.SearchKey; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); - msg.setSearchKey(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addKeysBytes(value); break; default: reader.skipField(); @@ -4810,9 +8695,9 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4820,64 +8705,108 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getAllKeys(); - if (f != null) { - writer.writeMessage( + f = message.getKeysBytesList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter - ); - } - f = message.getSpecificKeys(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter - ); - } - f = message.getSearchKey(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter + f ); } }; /** - * optional AllKeys all_keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.AllKeys} + * repeated bytes keys_bytes = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * repeated bytes keys_bytes = 1; + * This is a type-conversion wrapper around `getKeysBytesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getKeysBytesList())); +}; + + +/** + * repeated bytes keys_bytes = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getKeysBytesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getKeysBytesList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.setKeysBytesList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.addKeysBytes = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.clearKeysBytesList = function() { + return this.setKeysBytesList([]); +}; + + +/** + * optional Keys keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { - return this.setAllKeys(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearKeys = function() { + return this.setKeys(undefined); }; @@ -4885,36 +8814,36 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasKeys = function() { return jspb.Message.getField(this, 1) != null; }; /** - * optional SpecificKeys specific_keys = 2; - * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { - return this.setSpecificKeys(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -4922,36 +8851,36 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = fun * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional SearchKey search_key = 3; - * @return {?proto.org.dash.platform.dapi.v0.SearchKey} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { - return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { - return this.setSearchKey(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -4959,11 +8888,73 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = functi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; +/** + * optional GetIdentityKeysResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); +}; @@ -4980,8 +8971,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); }; @@ -4990,13 +8981,13 @@ proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { var f, obj = { - + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -5010,29 +9001,34 @@ proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.AllKeys; - return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; default: reader.skipField(); break; @@ -5046,9 +9042,9 @@ proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(m * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5056,12 +9052,20 @@ proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter + ); + } }; @@ -5071,7 +9075,7 @@ proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(messa * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3]; @@ -5088,8 +9092,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); }; @@ -5098,13 +9102,18 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_i * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), + contractsList: jspb.Message.toObjectList(msg.getContractsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), + documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance) }; if (includeInstance) { @@ -5118,23 +9127,23 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; - return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5142,10 +9151,19 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct var field = reader.getFieldNumber(); switch (field) { case 1: - var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); - for (var i = 0; i < values.length; i++) { - msg.addKeyIds(values[i]); - } + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); + msg.addIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); + msg.addContracts(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); + msg.addDocuments(value); break; default: reader.skipField(); @@ -5160,9 +9178,9 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5170,56 +9188,36 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = functio /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeyIdsList(); + f = message.getIdentitiesList(); if (f.length > 0) { - writer.writePackedUint32( + writer.writeRepeatedMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + ); + } + f = message.getContractsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + ); + } + f = message.getDocumentsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter ); } -}; - - -/** - * repeated uint32 key_ids = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); -}; - - -/** - * @param {number} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { - return this.setKeyIdsList([]); }; @@ -5239,8 +9237,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); }; @@ -5249,13 +9247,16 @@ proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_incl * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { var f, obj = { - purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] + contractId: msg.getContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + documentId: msg.getDocumentId_asB64() }; if (includeInstance) { @@ -5269,23 +9270,23 @@ proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, m /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SearchKey; - return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5293,10 +9294,20 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getPurposeMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDocumentTypeKeepsHistory(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocumentId(value); break; default: reader.skipField(); @@ -5308,52 +9319,174 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getDocumentTypeKeepsHistory(); + if (f) { + writer.writeBool( + 3, + f + ); + } + f = message.getDocumentId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } +}; + + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); +}; + + +/** + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional string document_type = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bool document_type_keeps_history = 3; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPurposeMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); - } +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * map purpose_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * optional bytes document_id = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - proto.org.dash.platform.dapi.v0.SecurityLevelMap)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this + * optional bytes document_id = 4; + * This is a type-conversion wrapper around `getDocumentId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { - this.getPurposeMapMap().clear(); - return this;}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocumentId())); +}; + + +/** + * optional bytes document_id = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocumentId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; @@ -5372,8 +9505,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); }; @@ -5382,13 +9515,14 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { var f, obj = { - securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] + identityId: msg.getIdentityId_asB64(), + requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -5402,23 +9536,23 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5426,10 +9560,12 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getSecurityLevelMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); + msg.setRequestType(value); break; default: reader.skipField(); @@ -5444,9 +9580,9 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5454,15 +9590,25 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSecurityLevelMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getRequestType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f + ); } }; @@ -5470,31 +9616,70 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = funct /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { - CURRENT_KEY_OF_KIND_REQUEST: 0, - ALL_KEYS_OF_KIND_REQUEST: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { + FULL_IDENTITY: 0, + BALANCE: 1, + KEYS: 2 }; /** - * map security_level_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * optional bytes identity_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - null)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { - this.getSecurityLevelMapMap().clear(); - return this;}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); +}; + + +/** + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional Type request_type = 2; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); +}; @@ -5513,8 +9698,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); }; @@ -5523,17 +9708,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + contractId: msg.getContractId_asB64() }; if (includeInstance) { @@ -5547,23 +9728,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5572,26 +9753,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); - msg.setRequestType(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 4: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.setContractId(value); break; default: reader.skipField(); @@ -5606,57 +9768,26 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getRequestType(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 4, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, f ); } @@ -5664,173 +9795,195 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = /** - * optional bytes identity_id = 1; + * optional bytes contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getIdentityId = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getIdentityId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); + this.getContractId())); }; /** - * optional bytes identity_id = 1; + * optional bytes contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` + * This is a type-conversion wrapper around `getContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getIdentityId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); + this.getContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setIdentityId = function(value) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional KeyRequestType request_type = 2; - * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + * repeated IdentityRequest identities = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getRequestType = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setRequestType = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearRequestType = function() { - return this.setRequestType(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasRequestType = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { + return this.setIdentitiesList([]); }; /** - * optional google.protobuf.UInt32Value limit = 3; - * @return {?proto.google.protobuf.UInt32Value} + * repeated ContractRequest contracts = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasLimit = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { + return this.setContractsList([]); }; /** - * optional google.protobuf.UInt32Value offset = 4; - * @return {?proto.google.protobuf.UInt32Value} + * repeated DocumentRequest documents = 3; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasOffset = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional bool prove = 5; - * @return {boolean} + * optional GetProofsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -5843,22 +9996,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setProve = func * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase = { - RESULT_NOT_SET: 0, - KEYS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); }; @@ -5876,8 +10028,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); }; @@ -5886,15 +10038,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { var f, obj = { - keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -5908,23 +10058,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5932,19 +10082,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFromReader); - msg.setKeys(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -5959,9 +10099,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5969,47 +10109,24 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeys(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -6025,8 +10142,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); }; @@ -6035,13 +10152,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - keysBytesList: msg.getKeysBytesList_asB64() + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -6055,23 +10173,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.toObject = function /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6079,134 +10197,88 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.deserializeBinaryFr var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addKeysBytes(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; - default: - reader.skipField(); + case 2: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getKeysBytesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } -}; - - -/** - * repeated bytes keys_bytes = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.getKeysBytesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - - -/** - * repeated bytes keys_bytes = 1; - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.getKeysBytesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getKeysBytesList())); -}; - - -/** - * repeated bytes keys_bytes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.getKeysBytesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getKeysBytesList())); -}; - - -/** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.setKeysBytesList = function(value) { - return jspb.Message.setField(this, 1, value || []); + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.addKeysBytes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys.prototype.clearKeysBytesList = function() { - return this.setKeysBytesList([]); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Keys keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} + * optional Proof proof = 1; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys, 1)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.Keys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearKeys = function() { - return this.setKeys(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -6214,36 +10286,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearKeys = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasKeys = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 1) != null; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional ResponseMetadata metadata = 2; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -6251,36 +10323,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearProof = f * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional GetProofsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -6288,18 +10360,36 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearMetadata * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +}; @@ -6316,8 +10406,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); }; @@ -6326,17 +10416,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - identityIdsList: msg.getIdentityIdsList_asB64(), - requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -6350,23 +10436,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6374,27 +10460,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIdentityIds(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); - msg.setRequestType(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 4: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -6409,9 +10477,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6419,48 +10487,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityIdsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } - f = message.getRequestType(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); + f = message.getV0(); if (f != null) { writer.writeMessage( - 4, + 1, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter ); } }; @@ -6482,8 +10520,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); }; @@ -6492,13 +10530,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -6512,23 +10551,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6536,10 +10575,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deseri var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getSecurityLevelMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -6554,9 +10595,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6564,134 +10605,114 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSecurityLevelMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); } }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.KeyKindRequestType = { - CURRENT_KEY_OF_KIND_REQUEST: 0 -}; - -/** - * map security_level_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - null)); -}; - - -/** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { - this.getSecurityLevelMapMap().clear(); - return this;}; - - -/** - * repeated bytes identity_ids = 1; - * @return {!Array} + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getIdentityIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * repeated bytes identity_ids = 1; - * This is a type-conversion wrapper around `getIdentityIdsList()` - * @return {!Array} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getIdentityIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdentityIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * repeated bytes identity_ids = 1; + * optional bytes id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityIdsList()` - * @return {!Array} + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getIdentityIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdentityIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setIdentityIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.addIdentityIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearIdentityIdsList = function() { - return this.setIdentityIdsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional KeyRequestType request_type = 2; - * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + * optional GetDataContractRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getRequestType = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setRequestType = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearRequestType = function() { - return this.setRequestType(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -6699,100 +10720,147 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearRequestT * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.hasRequestType = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional google.protobuf.UInt32Value limit = 3; - * @return {?proto.google.protobuf.UInt32Value} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.hasLimit = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); }; /** - * optional google.protobuf.UInt32Value offset = 4; - * @return {?proto.google.protobuf.UInt32Value} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) + }; -/** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 4, value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.hasOffset = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional bool prove = 5; - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter + ); + } }; @@ -6805,22 +10873,22 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysRequest.prototype.setProve = fu * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { RESULT_NOT_SET: 0, - PUBLIC_KEYS: 1, + DATA_CONTRACT: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); }; @@ -6838,8 +10906,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); }; @@ -6848,13 +10916,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - publicKeys: (f = msg.getPublicKeys()) && proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObject(includeInstance, f), + dataContract: msg.getDataContract_asB64(), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -6870,23 +10938,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6894,9 +10962,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromR var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinaryFromReader); - msg.setPublicKeys(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDataContract(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -6921,9 +10988,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6931,18 +10998,17 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeys(); + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); if (f != null) { - writer.writeMessage( + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.serializeBinaryToWriter + f ); } f = message.getProof(); @@ -6964,160 +11030,202 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.serializeBinaryToWrite }; +/** + * optional bytes data_contract = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + +/** + * optional bytes data_contract = 1; + * This is a type-conversion wrapper around `getDataContract()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDataContract())); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes data_contract = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDataContract()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDataContract())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.toObject = function(includeInstance, msg) { - var f, obj = { - value: msg.getValue_asB64() - }; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetDataContractResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); }; /** - * optional bytes value = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes value = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); +}; @@ -7134,8 +11242,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); }; @@ -7144,14 +11252,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototy * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7165,23 +11272,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObjec /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7189,13 +11296,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deseria var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.deserializeBinaryFromReader); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -7210,9 +11313,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deseria * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7220,116 +11323,30 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototy /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); + f = message.getV0(); if (f != null) { writer.writeMessage( - 2, + 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes key = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getKey_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); -}; - - -/** - * optional bytes key = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getKey_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional PublicKey value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKey|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; -}; - - /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; @@ -7346,8 +11363,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); }; @@ -7356,14 +11373,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyEntriesList: jspb.Message.toObjectList(msg.getPublicKeyEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.toObject, includeInstance) + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -7377,23 +11394,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries; - return proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7401,9 +11418,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deser var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.deserializeBinaryFromReader); - msg.addPublicKeyEntries(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -7418,9 +11438,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7428,123 +11448,133 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyEntriesList(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry.serializeBinaryToWriter + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f ); } }; /** - * repeated PublicKeyEntry public_key_entries = 1; - * @return {!Array} + * repeated bytes ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.getPublicKeyEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.setPublicKeyEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry} + * repeated bytes ids = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.addPublicKeyEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries.prototype.clearPublicKeyEntriesList = function() { - return this.setPublicKeyEntriesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional PublicKeyEntries public_keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getPublicKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.PublicKeyEntries|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.setPublicKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_[0], value); + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearPublicKeys = function() { - return this.setPublicKeys(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.hasPublicKeys = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional GetDataContractsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -7552,55 +11582,36 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearProof = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesKeysResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.repeatedFields_ = [1,2,3]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +}; @@ -7617,8 +11628,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); }; @@ -7627,18 +11638,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject, includeInstance), - contractsList: jspb.Message.toObjectList(msg.getContractsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject, includeInstance), - documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7652,23 +11658,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7676,19 +11682,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinaryFromReader); - msg.addIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinaryFromReader); - msg.addContracts(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinaryFromReader); - msg.addDocuments(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -7703,9 +11699,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7713,34 +11709,18 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.serializeBinaryToWriter - ); - } - f = message.getContractsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.serializeBinaryToWriter - ); - } - f = message.getDocumentsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter ); } }; @@ -7762,8 +11742,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); }; @@ -7772,16 +11752,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - documentId: msg.getDocumentId_asB64() + identifier: msg.getIdentifier_asB64(), + dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -7795,23 +11773,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7820,19 +11798,12 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBina switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + msg.setIdentifier(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); - break; - case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setDocumentTypeKeepsHistory(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocumentId(value); + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setDataContract(value); break; default: reader.skipField(); @@ -7847,9 +11818,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7857,163 +11828,116 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getIdentifier_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( + f = message.getDataContract(); + if (f != null) { + writer.writeMessage( 2, - f - ); - } - f = message.getDocumentTypeKeepsHistory(); - if (f) { - writer.writeBool( - 3, - f - ); - } - f = message.getDocumentId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f + f, + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; /** - * optional bytes contract_id = 1; + * optional bytes identifier = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getContractId = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + this.getIdentifier())); }; /** - * optional bytes contract_id = 1; + * optional bytes identifier = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` + * This is a type-conversion wrapper around `getIdentifier()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); + this.getIdentifier())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setContractId = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional string document_type = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bool document_type_keeps_history = 3; - * @return {boolean} + * optional google.protobuf.BytesValue data_contract = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional bytes document_id = 4; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { + return this.setDataContract(undefined); }; /** - * optional bytes document_id = 4; - * This is a type-conversion wrapper around `getDocumentId()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDocumentId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 2) != null; }; -/** - * optional bytes document_id = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.getDocumentId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocumentId())); -}; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} returns this + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest.prototype.setDocumentId = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); -}; - - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; @@ -8030,8 +11954,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); }; @@ -8040,14 +11964,14 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) }; if (includeInstance) { @@ -8061,23 +11985,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8085,12 +12009,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} */ (reader.readEnum()); - msg.setRequestType(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -8105,9 +12026,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8115,101 +12036,90 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); + f = message.getDataContractEntriesList(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedMessage( 1, - f - ); - } - f = message.getRequestType(); - if (f !== 0.0) { - writer.writeEnum( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter ); } }; /** - * @enum {number} + * repeated DataContractEntry data_contract_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type = { - FULL_IDENTITY: 0, - BALANCE: 1, - KEYS: 2 +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); }; + /** - * optional bytes identity_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); }; /** - * optional bytes identity_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; /** - * optional Type request_type = 2; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.getRequestType = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACTS: 1, + PROOF: 2 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.Type} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest.prototype.setRequestType = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -8223,8 +12133,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); }; @@ -8233,13 +12143,15 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64() + dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -8253,23 +12165,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8277,8 +12189,19 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); + msg.setDataContracts(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -8293,9 +12216,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8303,175 +12226,323 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getDataContracts(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes contract_id = 1; - * @return {string} + * optional DataContracts data_contracts = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { + return this.setDataContracts(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * repeated IdentityRequest identities = 1; - * @return {!Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getIdentitiesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setIdentitiesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.addIdentities = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.IdentityRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * repeated ContractRequest contracts = 2; - * @return {!Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getContractsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setContractsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.addContracts = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.ContractRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearContractsList = function() { - return this.setContractsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * repeated DocumentRequest documents = 3; - * @return {!Array} + * optional GetDataContractsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getDocumentsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setDocumentsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.addDocuments = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.DocumentRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter + ); + } }; @@ -8491,8 +12562,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); }; @@ -8501,14 +12572,17 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + id: msg.getId_asB64(), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -8522,23 +12596,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8546,14 +12620,26 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 3: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartAtMs(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -8568,9 +12654,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8578,56 +12664,119 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProof(); + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getLimit(); if (f != null) { writer.writeMessage( - 1, + 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getOffset(); if (f != null) { writer.writeMessage( - 2, + 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getStartAtMs(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; /** - * optional Proof proof = 1; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +}; + + +/** + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setProof = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; @@ -8635,36 +12784,36 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearProof = functio * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 2; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional google.protobuf.UInt32Value offset = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; @@ -8672,12 +12821,110 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearMetadata = func * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional uint64 start_at_ms = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bool prove = 5; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + +/** + * optional GetDataContractHistoryRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -8693,8 +12940,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); }; @@ -8703,14 +12950,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -8724,23 +12970,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8748,12 +12994,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -8768,9 +13011,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8778,89 +13021,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - /** * Oneof group definitions for this message. Each group defines the field @@ -8870,22 +13047,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setProve = func * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { RESULT_NOT_SET: 0, - DATA_CONTRACT: 1, + DATA_CONTRACT_HISTORY: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); }; @@ -8903,8 +13080,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); }; @@ -8913,13 +13090,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContract: msg.getDataContract_asB64(), + dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -8935,23 +13112,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8959,8 +13136,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContract(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); + msg.setDataContractHistory(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -8985,9 +13163,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8995,17 +13173,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getDataContractHistory(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter ); } f = message.getProof(); @@ -9027,137 +13206,187 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter }; -/** - * optional bytes data_contract = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getDataContract = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - -/** - * optional bytes data_contract = 1; - * This is a type-conversion wrapper around `getDataContract()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getDataContract_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContract())); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes data_contract = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContract()` - * @return {!Uint8Array} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getDataContract_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContract())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setDataContract = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { + var f, obj = { + date: jspb.Message.getFieldWithDefault(msg, 1, 0), + value: msg.getValue_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearDataContract = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setDate(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDate(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * optional uint64 date = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes value = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * optional bytes value = 2; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * optional bytes value = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); }; @@ -9167,7 +13396,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasMetadata = * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; @@ -9184,8 +13413,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); }; @@ -9194,14 +13423,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) }; if (includeInstance) { @@ -9215,23 +13444,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9239,12 +13468,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -9259,9 +13485,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9269,105 +13495,206 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getDataContractEntriesList(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeRepeatedMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter ); } }; /** - * repeated bytes ids = 1; - * @return {!Array} + * repeated DataContractHistoryEntry data_contract_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getIdsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); }; /** - * repeated bytes ids = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` - * @return {!Array} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getIdsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * optional DataContractHistory data_contract_history = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.addIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { + return this.setDataContractHistory(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bool prove = 2; + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDataContractHistoryResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -9380,22 +13707,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setProve = fun * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); }; @@ -9413,8 +13739,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); }; @@ -9423,15 +13749,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { var f, obj = { - dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9445,23 +13769,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9469,19 +13793,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); - msg.setDataContracts(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9496,9 +13810,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9506,40 +13820,50 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContracts(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 6, + START_AT: 7 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -9555,8 +13879,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); }; @@ -9565,13 +13889,20 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - value: msg.getValue_asB64() + dataContractId: msg.getDataContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + where: msg.getWhere_asB64(), + orderBy: msg.getOrderBy_asB64(), + limit: jspb.Message.getFieldWithDefault(msg, 5, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) }; if (includeInstance) { @@ -9585,23 +13916,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9610,7 +13941,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deser switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + msg.setDataContractId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setWhere(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setOrderBy(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 6: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 7: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 8: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -9625,9 +13984,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9635,257 +13994,396 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getValue_asU8(); + f = message.getDataContractId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getWhere_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getOrderBy_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getLimit(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + if (f != null) { + writer.writeBytes( + 6, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + if (f != null) { + writer.writeBytes( + 7, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 8, + f + ); + } }; /** - * optional bytes value = 1; + * optional bytes data_contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.getValue = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` + * optional bytes data_contract_id = 1; + * This is a type-conversion wrapper around `getDataContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.getValue_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); + this.getDataContractId())); }; /** - * optional bytes value = 1; + * optional bytes data_contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` + * This is a type-conversion wrapper around `getDataContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.getValue_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); + this.getDataContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.prototype.setValue = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; +/** + * optional string document_type = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bytes where = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + +/** + * optional bytes where = 3; + * This is a type-conversion wrapper around `getWhere()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWhere())); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes where = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getWhere()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWhere())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { - var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * optional bytes order_by = 4; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * optional bytes order_by = 4; + * This is a type-conversion wrapper around `getOrderBy()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getOrderBy())); +}; + + +/** + * optional bytes order_by = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getOrderBy()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getOrderBy())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); +}; + + +/** + * optional uint32 limit = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * optional bytes start_after = 6; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +}; + + +/** + * optional bytes start_after = 6; + * This is a type-conversion wrapper around `getStartAfter()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * optional bytes start_after = 6; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAfter()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.deserializeBinaryFromReader); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * optional bytes key = 1; + * optional bytes start_at = 7; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` + * optional bytes start_at = 7; + * This is a type-conversion wrapper around `getStartAt()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getKey_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); + this.getStartAt())); }; /** - * optional bytes key = 1; + * optional bytes start_at = 7; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` + * This is a type-conversion wrapper around `getStartAt()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getKey_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); + this.getStartAt())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * optional DataContractValue value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue, 2)); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 7) != null; +}; + + +/** + * optional bool prove = 8; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); +}; + + +/** + * optional GetDocumentsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearValue = function() { - return this.setValue(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -9893,18 +14391,36 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); +}; @@ -9921,8 +14437,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); }; @@ -9931,14 +14447,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9952,23 +14467,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9976,9 +14491,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9990,186 +14505,212 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deseriali /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter - ); - } -}; - - -/** - * repeated DataContractEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); -}; - - -/** - * optional DataContracts data_contracts = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getDataContracts = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setDataContracts = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearDataContracts = function() { - return this.setDataContracts(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasDataContracts = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter + ); + } }; + /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DOCUMENTS: 1, + PROOF: 2 +}; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); + msg.setDocuments(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDocuments(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10185,8 +14726,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); }; @@ -10195,17 +14736,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + documentsList: msg.getDocumentsList_asB64() }; if (includeInstance) { @@ -10219,23 +14756,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10244,25 +14781,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartAtMs(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.addDocuments(value); break; default: reader.skipField(); @@ -10274,132 +14793,158 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDocumentsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 1, + f + ); + } +}; + + +/** + * repeated bytes documents = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes documents = 1; + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getDocumentsList())); +}; + + +/** + * repeated bytes documents = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getDocumentsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getStartAtMs(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * optional bytes id = 1; - * @return {string} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} + * optional Documents documents = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { + return this.setDocuments(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -10407,36 +14952,36 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearLim * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasLimit = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setOffset = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -10444,44 +14989,45 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearOff * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasOffset = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional uint64 start_at_ms = 4; - * @return {number} + * optional GetDocumentsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getStartAtMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setStartAtMs = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); }; /** - * optional bool prove = 5; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -10494,26 +15040,146 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setProve * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACT_HISTORY: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter + ); + } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_ = [1]; + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -10527,8 +15193,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(opt_includeInstance, this); }; @@ -10537,15 +15203,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -10559,23 +15224,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10583,19 +15248,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinaryFromReader); - msg.setDataContractHistory(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addPublicKeyHashes(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -10610,9 +15268,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10620,39 +15278,170 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractHistory(); - if (f != null) { - writer.writeMessage( + f = message.getPublicKeyHashesList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; +/** + * repeated bytes public_key_hashes = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes public_key_hashes = 1; + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getPublicKeyHashesList())); +}; + + +/** + * repeated bytes public_key_hashes = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getPublicKeyHashesList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setPublicKeyHashesList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.addPublicKeyHashes = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.clearPublicKeyHashesList = function() { + return this.setPublicKeyHashesList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentitiesByPublicKeyHashesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); +}; @@ -10669,8 +15458,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); }; @@ -10679,14 +15468,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { var f, obj = { - date: jspb.Message.getFieldWithDefault(msg, 1, 0), - value: msg.getValue_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -10700,23 +15488,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10724,12 +15512,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setDate(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -10744,9 +15529,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10754,97 +15539,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDate(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 2, - f - ); - } -}; - - -/** - * optional uint64 date = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getDate = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.setDate = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional bytes value = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * optional bytes value = 2; - * This is a type-conversion wrapper around `getValue()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); -}; - - -/** - * optional bytes value = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter + ); + } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10860,8 +15572,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject(opt_includeInstance, this); }; @@ -10870,14 +15582,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.toObject, includeInstance) + publicKeyHash: msg.getPublicKeyHash_asB64(), + value: (f = msg.getValue()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -10891,23 +15603,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10915,9 +15627,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); + break; + case 2: + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setValue(value); break; default: reader.skipField(); @@ -10932,9 +15648,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10942,123 +15658,97 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHisto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); + f = message.getPublicKeyHash_asU8(); if (f.length > 0) { - writer.writeRepeatedMessage( + writer.writeBytes( 1, + f + ); + } + f = message.getValue(); + if (f != null) { + writer.writeMessage( + 2, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry.serializeBinaryToWriter + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; /** - * repeated DataContractHistoryEntry data_contract_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistoryEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} returns this + * optional bytes public_key_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional DataContractHistory data_contract_history = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getDataContractHistory = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.DataContractHistory|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setDataContractHistory = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearDataContractHistory = function() { - return this.setDataContractHistory(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasDataContractHistory = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional google.protobuf.BytesValue value = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getValue = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); }; @@ -11066,74 +15756,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearPr * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.hasValue = function() { return jspb.Message.getField(this, 2) != null; }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; -}; - - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} + * List of repeated fields within this message type. + * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[6,7]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase = { - START_NOT_SET: 0, - START_AFTER: 6, - START_AT: 7 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_ = [1]; @@ -11150,8 +15784,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(opt_includeInstance, this); }; @@ -11160,20 +15794,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject = function(includeInstance, msg) { var f, obj = { - dataContractId: msg.getDataContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - where: msg.getWhere_asB64(), - orderBy: msg.getOrderBy_asB64(), - limit: jspb.Message.getFieldWithDefault(msg, 5, 0), - startAfter: msg.getStartAfter_asB64(), - startAt: msg.getStartAt_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject, includeInstance) }; if (includeInstance) { @@ -11187,23 +15815,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11211,36 +15839,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContractId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); - break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWhere(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setOrderBy(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); - break; - case 6: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAfter(value); - break; - case 7: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAt(value); - break; - case 8: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); break; default: reader.skipField(); @@ -11255,9 +15856,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11265,281 +15866,328 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractId_asU8(); + f = message.getIdentityEntriesList(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedMessage( 1, - f - ); - } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getWhere_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getOrderBy_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getLimit(); - if (f !== 0) { - writer.writeUint32( - 5, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); - if (f != null) { - writer.writeBytes( - 6, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); - if (f != null) { - writer.writeBytes( - 7, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 8, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter ); } }; /** - * optional bytes data_contract_id = 1; - * @return {string} + * repeated PublicKeyHashIdentityEntry identity_entries = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDataContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, 1)); }; /** - * optional bytes data_contract_id = 1; - * This is a type-conversion wrapper around `getDataContractId()` - * @return {string} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDataContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContractId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, opt_index); }; /** - * optional bytes data_contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContractId()` - * @return {!Uint8Array} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDataContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContractId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setDataContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional string document_type = 2; - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(opt_includeInstance, this); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes where = 3; - * @return {string} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getWhere = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * optional bytes where = 3; - * This is a type-conversion wrapper around `getWhere()` - * @return {string} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getWhere_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getWhere())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader); + msg.setIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional bytes where = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getWhere()` + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getWhere_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getWhere())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setWhere = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional bytes order_by = 4; - * @return {string} + * optional IdentitiesByPublicKeyHashes identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getOrderBy = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, 1)); }; /** - * optional bytes order_by = 4; - * This is a type-conversion wrapper around `getOrderBy()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getOrderBy_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getOrderBy())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** - * optional bytes order_by = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getOrderBy()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getOrderBy_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getOrderBy())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setOrderBy = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional uint32 limit = 5; - * @return {number} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setLimit = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** - * optional bytes start_after = 6; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAfter = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bytes start_after = 6; - * This is a type-conversion wrapper around `getStartAfter()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAfter_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes start_after = 6; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAfter()` - * @return {!Uint8Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAfter_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setStartAfter = function(value) { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearStartAfter = function() { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -11547,118 +16195,190 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearStartAfter = * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasStartAfter = function() { - return jspb.Message.getField(this, 6) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional bytes start_at = 7; - * @return {string} + * optional GetIdentitiesByPublicKeyHashesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, 1)); }; /** - * optional bytes start_at = 7; - * This is a type-conversion wrapper around `getStartAt()` - * @return {string} + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAt_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional bytes start_at = 7; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAt()` - * @return {!Uint8Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getStartAt_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAt())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setStartAt = function(value) { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearStartAt = function() { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasStartAt = function() { - return jspb.Message.getField(this, 7) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); }; /** - * optional bool prove = 8; - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase = { - RESULT_NOT_SET: 0, - DOCUMENTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -11672,8 +16392,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); }; @@ -11682,15 +16402,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + publicKeyHash: msg.getPublicKeyHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -11704,23 +16423,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11728,19 +16447,12 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinaryFromReader); - msg.setDocuments(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -11755,9 +16467,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11765,46 +16477,151 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocuments(); - if (f != null) { - writer.writeMessage( + f = message.getPublicKeyHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; +/** + * optional bytes public_key_hash = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); +}; + + +/** + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +}; @@ -11821,8 +16638,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); }; @@ -11831,13 +16648,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { var f, obj = { - documentsList: msg.getDocumentsList_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -11851,23 +16668,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11875,8 +16692,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addDocuments(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -11891,9 +16709,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11901,401 +16719,357 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocumentsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter ); } }; -/** - * repeated bytes documents = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.getDocumentsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - /** - * repeated bytes documents = 1; - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.getDocumentsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getDocumentsList())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; /** - * repeated bytes documents = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.getDocumentsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getDocumentsList())); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 }; - /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.setDocumentsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); }; -/** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.addDocuments = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); }; /** - * optional Documents documents = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getDocuments = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.Documents|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setDocuments = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearDocuments = function() { - return this.setDocuments(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasDocuments = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes identity = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.repeatedFields_ = [1]; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { - var f, obj = { - publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { + return jspb.Message.getField(this, 1) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addPublicKeyHashes(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPublicKeyHashesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * repeated bytes public_key_hashes = 1; - * @return {!Array} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getPublicKeyHashesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * repeated bytes public_key_hashes = 1; - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getPublicKeyHashesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getPublicKeyHashesList())); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * repeated bytes public_key_hashes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getPublicKeyHashesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getPublicKeyHashesList())); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setPublicKeyHashesList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.addPublicKeyHashes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearPublicKeyHashesList = function() { - return this.setPublicKeyHashesList([]); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); }; /** - * optional bool prove = 2; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -12308,22 +17082,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0])); }; @@ -12341,8 +17114,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); }; @@ -12351,15 +17124,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12373,23 +17144,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12397,19 +17168,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinaryFromReader); - msg.setIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -12424,9 +17185,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12434,47 +17195,24 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentities(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -12490,8 +17228,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); }; @@ -12500,13 +17238,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: msg.getIdentitiesList_asB64() + stateTransitionHash: msg.getStateTransitionHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -12520,23 +17259,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12545,7 +17284,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIdentities(value); + msg.setStateTransitionHash(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -12560,9 +17303,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12570,145 +17313,114 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList_asU8(); + f = message.getStateTransitionHash_asU8(); if (f.length > 0) { - writer.writeRepeatedBytes( + writer.writeBytes( 1, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes identities = 1; - * @return {!Array} + * optional bytes state_transition_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.getIdentitiesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * repeated bytes identities = 1; - * This is a type-conversion wrapper around `getIdentitiesList()` - * @return {!Array} + * optional bytes state_transition_hash = 1; + * This is a type-conversion wrapper around `getStateTransitionHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.getIdentitiesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdentitiesList())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStateTransitionHash())); }; /** - * repeated bytes identities = 1; + * optional bytes state_transition_hash = 1; * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentitiesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.getIdentitiesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdentitiesList())); -}; - - -/** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.setIdentitiesList = function(value) { - return jspb.Message.setField(this, 1, value || []); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.addIdentities = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); -}; - - -/** - * optional Identities identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStateTransitionHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities, 1)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStateTransitionHash())); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identities|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearIdentities = function() { - return this.setIdentities(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional WaitForStateTransitionResultRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -12716,51 +17428,39 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Returns whether this field is set. - * @return {boolean} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -12774,8 +17474,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); }; @@ -12784,14 +17484,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12805,23 +17504,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12829,12 +17528,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -12849,9 +17545,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12859,89 +17555,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes public_key_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getPublicKeyHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getPublicKeyHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); -}; - - -/** - * optional bytes public_key_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getPublicKeyHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.setPublicKeyHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - /** * Oneof group definitions for this message. Each group defines the field @@ -12951,22 +17581,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesRequest.prototype.se * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { RESULT_NOT_SET: 0, - IDENTITY: 1, + ERROR: 1, PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0])); }; @@ -12984,8 +17614,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); }; @@ -12994,13 +17624,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), + error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; @@ -13016,23 +17646,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13040,8 +17670,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); + msg.setError(value); break; case 2: var value = new proto.org.dash.platform.dapi.v0.Proof; @@ -13066,9 +17697,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13076,17 +17707,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + f = message.getError(); if (f != null) { - writer.writeBytes( + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter ); } f = message.getProof(); @@ -13109,53 +17741,30 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.serializeBi /** - * optional bytes identity = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getIdentity = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); -}; - - -/** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` - * @return {!Uint8Array} + * optional StateTransitionBroadcastError error = 1; + * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getError = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0], value); + * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setError = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { + return this.setError(undefined); }; @@ -13163,7 +17772,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.hasIdentity = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { return jspb.Message.getField(this, 1) != null; }; @@ -13172,7 +17781,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.h * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -13180,18 +17789,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.g /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -13200,7 +17809,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -13209,7 +17818,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.h * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -13217,34 +17826,96 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.g /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional WaitForStateTransitionResultResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Returns whether this field is set. - * @return {boolean} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashesResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13258,8 +17929,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); }; @@ -13268,14 +17939,13 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { var f, obj = { - stateTransitionHash: msg.getStateTransitionHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13289,23 +17959,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13313,12 +17983,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransitionHash(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13333,9 +18000,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13343,115 +18010,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransitionHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes state_transition_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getStateTransitionHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes state_transition_hash = 1; - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getStateTransitionHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransitionHash())); -}; - - -/** - * optional bytes state_transition_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getStateTransitionHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransitionHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setStateTransitionHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase = { - RESULT_NOT_SET: 0, - ERROR: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); -}; @@ -13468,8 +18043,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this); }; @@ -13478,15 +18053,14 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -13500,23 +18074,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13524,19 +18098,12 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); - msg.setError(value); + var value = /** @type {number} */ (reader.readInt32()); + msg.setHeight(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -13551,9 +18118,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13561,101 +18128,90 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getError(); - if (f != null) { - writer.writeMessage( + f = message.getHeight(); + if (f !== 0) { + writer.writeInt32( 1, - f, - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; /** - * optional StateTransitionBroadcastError error = 1; - * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * optional int32 height = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getError = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setError = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearError = function() { - return this.setError(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasError = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional GetConsensusParamsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -13663,51 +18219,39 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_ = [[1]]; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * Returns whether this field is set. - * @return {boolean} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13721,8 +18265,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); }; @@ -13731,15 +18275,13 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { var f, obj = { - maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), - timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13753,23 +18295,23 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ConsensusParamsBlock; - return proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13777,16 +18319,9 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxGas(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTimeIotaMs(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13801,9 +18336,9 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13811,90 +18346,23 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getMaxGas(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getTimeIotaMs(); - if (f.length > 0) { - writer.writeString( - 3, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter ); } }; -/** - * optional string max_bytes = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} returns this - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string max_gas = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.getMaxGas = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} returns this - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.setMaxGas = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string time_iota_ms = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} returns this - */ -proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - @@ -13911,8 +18379,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); }; @@ -13921,15 +18389,15 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { var f, obj = { - maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), - maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") + maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), + timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -13943,23 +18411,23 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence; - return proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13968,15 +18436,15 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromRea switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeNumBlocks(value); + msg.setMaxBytes(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeDuration(value); + msg.setMaxGas(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); + msg.setTimeIotaMs(value); break; default: reader.skipField(); @@ -13991,9 +18459,9 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14001,27 +18469,27 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxAgeNumBlocks(); + f = message.getMaxBytes(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getMaxAgeDuration(); + f = message.getMaxGas(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getMaxBytes(); + f = message.getTimeIotaMs(); if (f.length > 0) { writer.writeString( 3, @@ -14032,55 +18500,55 @@ proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter /** - * optional string max_age_num_blocks = 1; + * optional string max_bytes = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string max_age_duration = 2; + * optional string max_gas = 2; * @return {string} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string max_bytes = 3; + * optional string time_iota_ms = 3; * @return {string} */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.getMaxBytes = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; @@ -14101,8 +18569,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); }; @@ -14111,14 +18579,15 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), + maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -14132,23 +18601,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14156,12 +18625,16 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readInt64()); - msg.setHeight(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeNumBlocks(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeDuration(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxBytes(value); break; default: reader.skipField(); @@ -14176,9 +18649,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14186,62 +18659,87 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeInt64( + f = message.getMaxAgeNumBlocks(); + if (f.length > 0) { + writer.writeString( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getMaxAgeDuration(); + if (f.length > 0) { + writer.writeString( 2, f ); } + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional int64 height = 1; - * @return {number} + * optional string max_age_num_blocks = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} + * optional string max_age_duration = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string max_bytes = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; @@ -14261,8 +18759,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); }; @@ -14271,14 +18769,14 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.toObject(includeInstance, f), - evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.toObject(includeInstance, f) + block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), + evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) }; if (includeInstance) { @@ -14292,23 +18790,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14316,13 +18814,13 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.ConsensusParamsBlock; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); msg.setBlock(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); msg.setEvidence(value); break; default: @@ -14338,9 +18836,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14348,18 +18846,18 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getBlock(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.ConsensusParamsBlock.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter ); } f = message.getEvidence(); @@ -14367,7 +18865,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWrit writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter ); } }; @@ -14375,28 +18873,28 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWrit /** * optional ConsensusParamsBlock block = 1; - * @return {?proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getBlock = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ConsensusParamsBlock} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ConsensusParamsBlock, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getBlock = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ConsensusParamsBlock|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setBlock = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setBlock = function(value) { return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearBlock = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { return this.setBlock(undefined); }; @@ -14405,35 +18903,35 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearBlock * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasBlock = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { return jspb.Message.getField(this, 1) != null; }; /** * optional ConsensusParamsEvidence evidence = 2; - * @return {?proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getEvidence = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence, 2)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ConsensusParamsEvidence|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setEvidence = function(value) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) { return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearEvidence = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { return this.setEvidence(undefined); }; @@ -14442,9 +18940,46 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearEviden * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasEvidence = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { return jspb.Message.getField(this, 2) != null; }; +/** + * optional GetConsensusParamsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + goog.object.extend(exports, proto.org.dash.platform.dapi.v0); diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts index 0c93826af4..aca129aeea 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts @@ -45,7 +45,7 @@ type PlatformgetIdentityBalance = { readonly service: typeof Platform; readonly requestStream: false; readonly responseStream: false; - readonly requestType: typeof platform_pb.GetIdentityRequest; + readonly requestType: typeof platform_pb.GetIdentityBalanceRequest; readonly responseType: typeof platform_pb.GetIdentityBalanceResponse; }; @@ -54,7 +54,7 @@ type PlatformgetIdentityBalanceAndRevision = { readonly service: typeof Platform; readonly requestStream: false; readonly responseStream: false; - readonly requestType: typeof platform_pb.GetIdentityRequest; + readonly requestType: typeof platform_pb.GetIdentityBalanceAndRevisionRequest; readonly responseType: typeof platform_pb.GetIdentityBalanceAndRevisionResponse; }; @@ -112,13 +112,13 @@ type PlatformgetIdentitiesByPublicKeyHashes = { readonly responseType: typeof platform_pb.GetIdentitiesByPublicKeyHashesResponse; }; -type PlatformgetIdentityByPublicKeyHashes = { +type PlatformgetIdentityByPublicKeyHash = { readonly methodName: string; readonly service: typeof Platform; readonly requestStream: false; readonly responseStream: false; - readonly requestType: typeof platform_pb.GetIdentityByPublicKeyHashesRequest; - readonly responseType: typeof platform_pb.GetIdentityByPublicKeyHashesResponse; + readonly requestType: typeof platform_pb.GetIdentityByPublicKeyHashRequest; + readonly responseType: typeof platform_pb.GetIdentityByPublicKeyHashResponse; }; type PlatformwaitForStateTransitionResult = { @@ -153,7 +153,7 @@ export class Platform { static readonly getDataContracts: PlatformgetDataContracts; static readonly getDocuments: PlatformgetDocuments; static readonly getIdentitiesByPublicKeyHashes: PlatformgetIdentitiesByPublicKeyHashes; - static readonly getIdentityByPublicKeyHashes: PlatformgetIdentityByPublicKeyHashes; + static readonly getIdentityByPublicKeyHash: PlatformgetIdentityByPublicKeyHash; static readonly waitForStateTransitionResult: PlatformwaitForStateTransitionResult; static readonly getConsensusParams: PlatformgetConsensusParams; } @@ -227,21 +227,21 @@ export class PlatformClient { callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityKeysResponse|null) => void ): UnaryResponse; getIdentityBalance( - requestMessage: platform_pb.GetIdentityRequest, + requestMessage: platform_pb.GetIdentityBalanceRequest, metadata: grpc.Metadata, callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityBalanceResponse|null) => void ): UnaryResponse; getIdentityBalance( - requestMessage: platform_pb.GetIdentityRequest, + requestMessage: platform_pb.GetIdentityBalanceRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityBalanceResponse|null) => void ): UnaryResponse; getIdentityBalanceAndRevision( - requestMessage: platform_pb.GetIdentityRequest, + requestMessage: platform_pb.GetIdentityBalanceAndRevisionRequest, metadata: grpc.Metadata, callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityBalanceAndRevisionResponse|null) => void ): UnaryResponse; getIdentityBalanceAndRevision( - requestMessage: platform_pb.GetIdentityRequest, + requestMessage: platform_pb.GetIdentityBalanceAndRevisionRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityBalanceAndRevisionResponse|null) => void ): UnaryResponse; getProofs( @@ -298,14 +298,14 @@ export class PlatformClient { requestMessage: platform_pb.GetIdentitiesByPublicKeyHashesRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentitiesByPublicKeyHashesResponse|null) => void ): UnaryResponse; - getIdentityByPublicKeyHashes( - requestMessage: platform_pb.GetIdentityByPublicKeyHashesRequest, + getIdentityByPublicKeyHash( + requestMessage: platform_pb.GetIdentityByPublicKeyHashRequest, metadata: grpc.Metadata, - callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityByPublicKeyHashesResponse|null) => void + callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityByPublicKeyHashResponse|null) => void ): UnaryResponse; - getIdentityByPublicKeyHashes( - requestMessage: platform_pb.GetIdentityByPublicKeyHashesRequest, - callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityByPublicKeyHashesResponse|null) => void + getIdentityByPublicKeyHash( + requestMessage: platform_pb.GetIdentityByPublicKeyHashRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityByPublicKeyHashResponse|null) => void ): UnaryResponse; waitForStateTransitionResult( requestMessage: platform_pb.WaitForStateTransitionResultRequest, diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js index bc65effa76..2bb3b3aeff 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js @@ -51,7 +51,7 @@ Platform.getIdentityBalance = { service: Platform, requestStream: false, responseStream: false, - requestType: platform_pb.GetIdentityRequest, + requestType: platform_pb.GetIdentityBalanceRequest, responseType: platform_pb.GetIdentityBalanceResponse }; @@ -60,7 +60,7 @@ Platform.getIdentityBalanceAndRevision = { service: Platform, requestStream: false, responseStream: false, - requestType: platform_pb.GetIdentityRequest, + requestType: platform_pb.GetIdentityBalanceAndRevisionRequest, responseType: platform_pb.GetIdentityBalanceAndRevisionResponse }; @@ -118,13 +118,13 @@ Platform.getIdentitiesByPublicKeyHashes = { responseType: platform_pb.GetIdentitiesByPublicKeyHashesResponse }; -Platform.getIdentityByPublicKeyHashes = { - methodName: "getIdentityByPublicKeyHashes", +Platform.getIdentityByPublicKeyHash = { + methodName: "getIdentityByPublicKeyHash", service: Platform, requestStream: false, responseStream: false, - requestType: platform_pb.GetIdentityByPublicKeyHashesRequest, - responseType: platform_pb.GetIdentityByPublicKeyHashesResponse + requestType: platform_pb.GetIdentityByPublicKeyHashRequest, + responseType: platform_pb.GetIdentityByPublicKeyHashResponse }; Platform.waitForStateTransitionResult = { @@ -524,11 +524,11 @@ PlatformClient.prototype.getIdentitiesByPublicKeyHashes = function getIdentities }; }; -PlatformClient.prototype.getIdentityByPublicKeyHashes = function getIdentityByPublicKeyHashes(requestMessage, metadata, callback) { +PlatformClient.prototype.getIdentityByPublicKeyHash = function getIdentityByPublicKeyHash(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; } - var client = grpc.unary(Platform.getIdentityByPublicKeyHashes, { + var client = grpc.unary(Platform.getIdentityByPublicKeyHash, { request: requestMessage, host: this.serviceHost, metadata: metadata, diff --git a/packages/dapi-grpc/protos/platform/v0/platform.proto b/packages/dapi-grpc/protos/platform/v0/platform.proto index 52e7eb737a..0c0664a3c3 100644 --- a/packages/dapi-grpc/protos/platform/v0/platform.proto +++ b/packages/dapi-grpc/protos/platform/v0/platform.proto @@ -11,9 +11,8 @@ service Platform { rpc getIdentity (GetIdentityRequest) returns (GetIdentityResponse); rpc getIdentities (GetIdentitiesRequest) returns (GetIdentitiesResponse); rpc getIdentityKeys (GetIdentityKeysRequest) returns (GetIdentityKeysResponse); -// rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); - rpc getIdentityBalance(GetIdentityRequest) returns (GetIdentityBalanceResponse); - rpc getIdentityBalanceAndRevision(GetIdentityRequest) + rpc getIdentityBalance(GetIdentityBalanceRequest) returns (GetIdentityBalanceResponse); + rpc getIdentityBalanceAndRevision(GetIdentityBalanceAndRevisionRequest) returns (GetIdentityBalanceAndRevisionResponse); rpc getProofs (GetProofsRequest) returns (GetProofsResponse); rpc getDataContract (GetDataContractRequest) returns (GetDataContractResponse); @@ -21,7 +20,7 @@ service Platform { rpc getDataContracts (GetDataContractsRequest) returns (GetDataContractsResponse); rpc getDocuments (GetDocumentsRequest) returns (GetDocumentsResponse); rpc getIdentitiesByPublicKeyHashes (GetIdentitiesByPublicKeyHashesRequest) returns (GetIdentitiesByPublicKeyHashesResponse); - rpc getIdentityByPublicKeyHashes (GetIdentityByPublicKeyHashesRequest) returns (GetIdentityByPublicKeyHashesResponse); + rpc getIdentityByPublicKeyHash (GetIdentityByPublicKeyHashRequest) returns (GetIdentityByPublicKeyHashResponse); rpc waitForStateTransitionResult (WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse); rpc getConsensusParams (GetConsensusParamsRequest) returns (GetConsensusParamsResponse); } @@ -32,7 +31,7 @@ message Proof { bytes signature = 3; uint32 round = 4; bytes block_id_hash = 5; - uint32 quorum_type = 6; + uint32 quorum_type = 6; } message ResponseMetadata { @@ -58,24 +57,71 @@ message BroadcastStateTransitionResponse { } message GetIdentityRequest { - bytes id = 1; - bool prove = 2; + + message GetIdentityRequestV0 { + bytes id = 1; + bool prove = 2; + } + + oneof version { + GetIdentityRequestV0 v0 = 1; + } +} + +message GetIdentityBalanceRequest { + + message GetIdentityBalanceRequestV0 { + bytes id = 1; + bool prove = 2; + } + + oneof version { + GetIdentityBalanceRequestV0 v0 = 1; + } +} + + +message GetIdentityBalanceAndRevisionRequest { + + message GetIdentityBalanceAndRevisionRequestV0 { + bytes id = 1; + bool prove = 2; + } + + oneof version { + GetIdentityBalanceAndRevisionRequestV0 v0 = 1; + } } message GetIdentityResponse { - oneof result { - bytes identity = 1; - Proof proof = 2; + + message GetIdentityResponseV0 { + oneof result { + bytes identity = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { + GetIdentityResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message GetIdentitiesRequest { - repeated bytes ids = 1; - bool prove = 2; + + message GetIdentitiesRequestV0 { + repeated bytes ids = 1; + bool prove = 2; + } + + oneof version { + GetIdentitiesRequestV0 v0 = 1; + } } message GetIdentitiesResponse { + message IdentityValue { bytes value = 1; } @@ -89,32 +135,52 @@ message GetIdentitiesResponse { repeated IdentityEntry identity_entries = 1; } - oneof result { - Identities identities = 1; - Proof proof = 2; + message GetIdentitiesResponseV0 { + oneof result { + Identities identities = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { + GetIdentitiesResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message GetIdentityBalanceResponse { - oneof result { - google.protobuf.UInt64Value balance = 1; - Proof proof = 2; + + message GetIdentityBalanceResponseV0 { + oneof result { + uint64 balance = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { + GetIdentityBalanceResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message GetIdentityBalanceAndRevisionResponse { - message BalanceAndRevision { - google.protobuf.UInt64Value balance = 1; - google.protobuf.UInt64Value revision = 2; + + message GetIdentityBalanceAndRevisionResponseV0 { + message BalanceAndRevision { + uint64 balance = 1; + uint64 revision = 2; + } + + oneof result { + BalanceAndRevision balance_and_revision = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; } - oneof result { - BalanceAndRevision balance_and_revision = 1; - Proof proof = 2; + oneof version { + GetIdentityBalanceAndRevisionResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message KeyRequestType { @@ -145,248 +211,316 @@ message SecurityLevelMap { } message GetIdentityKeysRequest { - bytes identity_id = 1; - KeyRequestType request_type = 2; - google.protobuf.UInt32Value limit = 3; - google.protobuf.UInt32Value offset = 4; - bool prove = 5; -} -message GetIdentityKeysResponse { - message Keys { - repeated bytes keys_bytes = 1; - } - oneof result { - Keys keys = 1; - Proof proof = 2; + message GetIdentityKeysRequestV0 { + bytes identity_id = 1; + KeyRequestType request_type = 2; + google.protobuf.UInt32Value limit = 3; + google.protobuf.UInt32Value offset = 4; + bool prove = 5; } - ResponseMetadata metadata = 3; -} - - -message GetIdentitiesKeysRequest { - repeated bytes identity_ids = 1; - KeyRequestType request_type = 2; - google.protobuf.UInt32Value limit = 3; - google.protobuf.UInt32Value offset = 4; - bool prove = 5; - message SecurityLevelMap { - enum KeyKindRequestType { - CURRENT_KEY_OF_KIND_REQUEST = 0; - } - map security_level_map = 1; + oneof version { + GetIdentityKeysRequestV0 v0 = 1; } } -message GetIdentitiesKeysResponse { - message PublicKey { - bytes value = 1; - } +message GetIdentityKeysResponse { - message PublicKeyEntry { - bytes key = 1; - PublicKey value = 2; - } + message GetIdentityKeysResponseV0 { + message Keys { + repeated bytes keys_bytes = 1; + } - message PublicKeyEntries { - repeated PublicKeyEntry public_key_entries = 1; + oneof result { + Keys keys = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; } - oneof result { - PublicKeyEntries public_keys = 1; - Proof proof = 2; + oneof version { + GetIdentityKeysResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message GetProofsRequest { - message DocumentRequest { - bytes contract_id = 1; - string document_type = 2; - bool document_type_keeps_history = 3; - bytes document_id = 4; - } + message GetProofsRequestV0 { + message DocumentRequest { + bytes contract_id = 1; + string document_type = 2; + bool document_type_keeps_history = 3; + bytes document_id = 4; + } - message IdentityRequest { - enum Type { - FULL_IDENTITY = 0; - BALANCE = 1; - KEYS = 2; + message IdentityRequest { + enum Type { + FULL_IDENTITY = 0; + BALANCE = 1; + KEYS = 2; + } + bytes identity_id = 1; + Type request_type = 2; + } + + message ContractRequest { + bytes contract_id = 1; } - bytes identity_id = 1; - Type request_type = 2; - } - message ContractRequest { - bytes contract_id = 1; + repeated IdentityRequest identities = 1; + repeated ContractRequest contracts = 2; + repeated DocumentRequest documents = 3; } - repeated IdentityRequest identities = 1; - repeated ContractRequest contracts = 2; - repeated DocumentRequest documents = 3; + oneof version { + GetProofsRequestV0 v0 = 1; + } } message GetProofsResponse { - Proof proof = 1; - ResponseMetadata metadata = 2; + message GetProofsResponseV0 { + Proof proof = 1; + ResponseMetadata metadata = 2; + } + oneof version { + GetProofsResponseV0 v0 = 1; + } } message GetDataContractRequest { - bytes id = 1; - bool prove = 2; + message GetDataContractRequestV0 { + bytes id = 1; + bool prove = 2; + } + oneof version { + GetDataContractRequestV0 v0 = 1; + } } message GetDataContractResponse { - oneof result { - bytes data_contract = 1; - Proof proof = 2; + message GetDataContractResponseV0 { + oneof result { + bytes data_contract = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + oneof version { + GetDataContractResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message GetDataContractsRequest { - repeated bytes ids = 1; - bool prove = 2; + message GetDataContractsRequestV0 { + repeated bytes ids = 1; + bool prove = 2; + } + oneof version { + GetDataContractsRequestV0 v0 = 1; + } } message GetDataContractsResponse { - message DataContractValue { - bytes value = 1; - } - message DataContractEntry { - bytes key = 1; - DataContractValue value = 2; + bytes identifier = 1; + google.protobuf.BytesValue data_contract = 2; } - message DataContracts { repeated DataContractEntry data_contract_entries = 1; } - oneof result { - DataContracts data_contracts = 1; - Proof proof = 2; + + message GetDataContractsResponseV0 { + oneof result { + DataContracts data_contracts = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + oneof version { + GetDataContractsResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message GetDataContractHistoryRequest { - bytes id = 1; - google.protobuf.UInt32Value limit = 2; - google.protobuf.UInt32Value offset = 3; - uint64 start_at_ms = 4; - bool prove = 5; + message GetDataContractHistoryRequestV0 { + bytes id = 1; + google.protobuf.UInt32Value limit = 2; + google.protobuf.UInt32Value offset = 3; + uint64 start_at_ms = 4; + bool prove = 5; + } + oneof version { + GetDataContractHistoryRequestV0 v0 = 1; + } } message GetDataContractHistoryResponse { - message DataContractHistoryEntry { - uint64 date = 1; - bytes value = 2; - } + message GetDataContractHistoryResponseV0 { + message DataContractHistoryEntry { + uint64 date = 1; + bytes value = 2; + } - message DataContractHistory { - repeated DataContractHistoryEntry data_contract_entries = 1; - } + message DataContractHistory { + repeated DataContractHistoryEntry data_contract_entries = 1; + } - oneof result { - DataContractHistory data_contract_history = 1; - Proof proof = 2; - } + oneof result { + DataContractHistory data_contract_history = 1; + Proof proof = 2; + } - ResponseMetadata metadata = 3; + ResponseMetadata metadata = 3; + } + oneof version { + GetDataContractHistoryResponseV0 v0 = 1; + } } message GetDocumentsRequest { - bytes data_contract_id = 1; - string document_type = 2; - - bytes where = 3; - bytes order_by = 4; - - uint32 limit = 5; - - oneof start { - bytes start_after = 6; - bytes start_at = 7; + message GetDocumentsRequestV0 { + bytes data_contract_id = 1; + string document_type = 2; + bytes where = 3; + bytes order_by = 4; + uint32 limit = 5; + oneof start { + bytes start_after = 6; + bytes start_at = 7; + } + bool prove = 8; + } + oneof version { + GetDocumentsRequestV0 v0 = 1; } - - bool prove = 8; } message GetDocumentsResponse { - message Documents { - repeated bytes documents = 1; - } + message GetDocumentsResponseV0 { + message Documents { + repeated bytes documents = 1; + } - oneof result { - Documents documents = 1; - Proof proof = 2; + oneof result { + Documents documents = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + oneof version { + GetDocumentsResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } message GetIdentitiesByPublicKeyHashesRequest { - repeated bytes public_key_hashes = 1; - bool prove = 2; + message GetIdentitiesByPublicKeyHashesRequestV0 { + repeated bytes public_key_hashes = 1; + bool prove = 2; + } + oneof version { + GetIdentitiesByPublicKeyHashesRequestV0 v0 = 1; + } } message GetIdentitiesByPublicKeyHashesResponse { - message Identities { - repeated bytes identities = 1; + message PublicKeyHashIdentityEntry { + bytes public_key_hash = 1; + google.protobuf.BytesValue value = 2; } - oneof result { - Identities identities = 1; - Proof proof = 2; + message IdentitiesByPublicKeyHashes { + repeated PublicKeyHashIdentityEntry identity_entries = 1; } - ResponseMetadata metadata = 3; -} -message GetIdentityByPublicKeyHashesRequest { - bytes public_key_hash = 1; - bool prove = 2; -} + message GetIdentitiesByPublicKeyHashesResponseV0 { + oneof result { + IdentitiesByPublicKeyHashes identities = 1; + Proof proof = 2; + } -message GetIdentityByPublicKeyHashesResponse { - oneof result { - bytes identity = 1; - Proof proof = 2; + ResponseMetadata metadata = 3; + } + oneof version { + GetIdentitiesByPublicKeyHashesResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } -message WaitForStateTransitionResultRequest { - bytes state_transition_hash = 1; - bool prove = 2; +message GetIdentityByPublicKeyHashRequest { + message GetIdentityByPublicKeyHashRequestV0 { + bytes public_key_hash = 1; + bool prove = 2; + } + oneof version { + GetIdentityByPublicKeyHashRequestV0 v0 = 1; + } } -message WaitForStateTransitionResultResponse { - oneof result { - StateTransitionBroadcastError error = 1; - Proof proof = 2; +message GetIdentityByPublicKeyHashResponse { + message GetIdentityByPublicKeyHashResponseV0 { + oneof result { + bytes identity = 1; + Proof proof = 2; + } + + ResponseMetadata metadata = 3; + } + oneof version { + GetIdentityByPublicKeyHashResponseV0 v0 = 1; } - ResponseMetadata metadata = 3; } -message ConsensusParamsBlock { - string max_bytes = 1; - string max_gas = 2; - string time_iota_ms = 3; +message WaitForStateTransitionResultRequest { + message WaitForStateTransitionResultRequestV0 { + bytes state_transition_hash = 1; + bool prove = 2; + } + oneof version { + WaitForStateTransitionResultRequestV0 v0 = 1; + } } -message ConsensusParamsEvidence { - string max_age_num_blocks = 1; - string max_age_duration = 2; - string max_bytes = 3; +message WaitForStateTransitionResultResponse { + message WaitForStateTransitionResultResponseV0 { + oneof result { + StateTransitionBroadcastError error = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + oneof version { + WaitForStateTransitionResultResponseV0 v0 = 1; + } } message GetConsensusParamsRequest { - int64 height = 1; - bool prove = 2; + message GetConsensusParamsRequestV0 { + int32 height = 1; + bool prove = 2; + } + oneof version { + GetConsensusParamsRequestV0 v0 = 1; + } } message GetConsensusParamsResponse { - ConsensusParamsBlock block = 1; - ConsensusParamsEvidence evidence = 2; + message ConsensusParamsBlock { + string max_bytes = 1; + string max_gas = 2; + string time_iota_ms = 3; + } + + message ConsensusParamsEvidence { + string max_age_num_blocks = 1; + string max_age_duration = 2; + string max_bytes = 3; + } + + message GetConsensusParamsResponseV0 { + ConsensusParamsBlock block = 1; + ConsensusParamsEvidence evidence = 2; + } + oneof version { + GetConsensusParamsResponseV0 v0 = 1; + } } diff --git a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs index c7191b0d75..e93d1ac7af 100644 --- a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs +++ b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs @@ -50,45 +50,136 @@ pub struct BroadcastStateTransitionResponse {} #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityRequest { - #[prost(bytes = "vec", tag = "1")] - pub id: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "2")] - pub prove: bool, + #[prost(oneof = "get_identity_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetIdentityRequest`. +pub mod get_identity_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub id: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentityRequestV0), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityBalanceRequest { + #[prost(oneof = "get_identity_balance_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetIdentityBalanceRequest`. +pub mod get_identity_balance_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityBalanceRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub id: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentityBalanceRequestV0), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityBalanceAndRevisionRequest { + #[prost(oneof = "get_identity_balance_and_revision_request::Version", tags = "1")] + pub version: ::core::option::Option< + get_identity_balance_and_revision_request::Version, + >, +} +/// Nested message and enum types in `GetIdentityBalanceAndRevisionRequest`. +pub mod get_identity_balance_and_revision_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityBalanceAndRevisionRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub id: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentityBalanceAndRevisionRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_identity_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_identity_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetIdentityResponse`. pub mod get_identity_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identity_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetIdentityResponseV0`. + pub mod get_identity_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(bytes, tag = "1")] + Identity(::prost::alloc::vec::Vec), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { - #[prost(bytes, tag = "1")] - Identity(::prost::alloc::vec::Vec), - #[prost(message, tag = "2")] - Proof(super::Proof), + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentityResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesRequest { - #[prost(bytes = "vec", repeated, tag = "1")] - pub ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(bool, tag = "2")] - pub prove: bool, + #[prost(oneof = "get_identities_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetIdentitiesRequest`. +pub mod get_identities_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentitiesRequestV0 { + #[prost(bytes = "vec", repeated, tag = "1")] + pub ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentitiesRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_identities_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_identities_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetIdentitiesResponse`. pub mod get_identities_response { @@ -113,60 +204,112 @@ pub mod get_identities_response { pub identity_entries: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentitiesResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identities_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetIdentitiesResponseV0`. + pub mod get_identities_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Identities(super::Identities), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - Identities(Identities), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetIdentitiesResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_identity_balance_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_identity_balance_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetIdentityBalanceResponse`. pub mod get_identity_balance_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityBalanceResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identity_balance_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetIdentityBalanceResponseV0`. + pub mod get_identity_balance_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(uint64, tag = "1")] + Balance(u64), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - Balance(u64), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetIdentityBalanceResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceAndRevisionResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_identity_balance_and_revision_response::Result", tags = "1, 2")] - pub result: ::core::option::Option< - get_identity_balance_and_revision_response::Result, + #[prost(oneof = "get_identity_balance_and_revision_response::Version", tags = "1")] + pub version: ::core::option::Option< + get_identity_balance_and_revision_response::Version, >, } /// Nested message and enum types in `GetIdentityBalanceAndRevisionResponse`. pub mod get_identity_balance_and_revision_response { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct BalanceAndRevision { - #[prost(message, optional, tag = "1")] - pub balance: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub revision: ::core::option::Option, + pub struct GetIdentityBalanceAndRevisionResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost( + oneof = "get_identity_balance_and_revision_response_v0::Result", + tags = "1, 2" + )] + pub result: ::core::option::Option< + get_identity_balance_and_revision_response_v0::Result, + >, + } + /// Nested message and enum types in `GetIdentityBalanceAndRevisionResponseV0`. + pub mod get_identity_balance_and_revision_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct BalanceAndRevision { + #[prost(uint64, tag = "1")] + pub balance: u64, + #[prost(uint64, tag = "2")] + pub revision: u64, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + BalanceAndRevision(BalanceAndRevision), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - BalanceAndRevision(BalanceAndRevision), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetIdentityBalanceAndRevisionResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] @@ -256,292 +399,286 @@ pub mod security_level_map { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityKeysRequest { - #[prost(bytes = "vec", tag = "1")] - pub identity_id: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub request_type: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub limit: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub offset: ::core::option::Option, - #[prost(bool, tag = "5")] - pub prove: bool, + #[prost(oneof = "get_identity_keys_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetIdentityKeysRequest`. +pub mod get_identity_keys_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityKeysRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub identity_id: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub request_type: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub limit: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub offset: ::core::option::Option, + #[prost(bool, tag = "5")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentityKeysRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityKeysResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_identity_keys_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_identity_keys_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetIdentityKeysResponse`. pub mod get_identity_keys_response { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Keys { - #[prost(bytes = "vec", repeated, tag = "1")] - pub keys_bytes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + pub struct GetIdentityKeysResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identity_keys_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetIdentityKeysResponseV0`. + pub mod get_identity_keys_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Keys { + #[prost(bytes = "vec", repeated, tag = "1")] + pub keys_bytes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Keys(Keys), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - Keys(Keys), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetIdentityKeysResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetIdentitiesKeysRequest { - #[prost(bytes = "vec", repeated, tag = "1")] - pub identity_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(message, optional, tag = "2")] - pub request_type: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub limit: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub offset: ::core::option::Option, - #[prost(bool, tag = "5")] - pub prove: bool, -} -/// Nested message and enum types in `GetIdentitiesKeysRequest`. -pub mod get_identities_keys_request { +pub struct GetProofsRequest { + #[prost(oneof = "get_proofs_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetProofsRequest`. +pub mod get_proofs_request { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct SecurityLevelMap { - #[prost( - map = "uint32, enumeration(security_level_map::KeyKindRequestType)", - tag = "1" - )] - pub security_level_map: ::std::collections::HashMap, - } - /// Nested message and enum types in `SecurityLevelMap`. - pub mod security_level_map { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum KeyKindRequestType { - CurrentKeyOfKindRequest = 0, + pub struct GetProofsRequestV0 { + #[prost(message, repeated, tag = "1")] + pub identities: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub contracts: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub documents: ::prost::alloc::vec::Vec, + } + /// Nested message and enum types in `GetProofsRequestV0`. + pub mod get_proofs_request_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DocumentRequest { + #[prost(bytes = "vec", tag = "1")] + pub contract_id: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub document_type: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub document_type_keeps_history: bool, + #[prost(bytes = "vec", tag = "4")] + pub document_id: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct IdentityRequest { + #[prost(bytes = "vec", tag = "1")] + pub identity_id: ::prost::alloc::vec::Vec, + #[prost(enumeration = "identity_request::Type", tag = "2")] + pub request_type: i32, } - impl KeyKindRequestType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - KeyKindRequestType::CurrentKeyOfKindRequest => { - "CURRENT_KEY_OF_KIND_REQUEST" + /// Nested message and enum types in `IdentityRequest`. + pub mod identity_request { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum Type { + FullIdentity = 0, + Balance = 1, + Keys = 2, + } + impl Type { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Type::FullIdentity => "FULL_IDENTITY", + Type::Balance => "BALANCE", + Type::Keys => "KEYS", } } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "CURRENT_KEY_OF_KIND_REQUEST" => Some(Self::CurrentKeyOfKindRequest), - _ => None, + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FULL_IDENTITY" => Some(Self::FullIdentity), + "BALANCE" => Some(Self::Balance), + "KEYS" => Some(Self::Keys), + _ => None, + } } } } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ContractRequest { + #[prost(bytes = "vec", tag = "1")] + pub contract_id: ::prost::alloc::vec::Vec, + } + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetProofsRequestV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetIdentitiesKeysResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_identities_keys_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, +pub struct GetProofsResponse { + #[prost(oneof = "get_proofs_response::Version", tags = "1")] + pub version: ::core::option::Option, } -/// Nested message and enum types in `GetIdentitiesKeysResponse`. -pub mod get_identities_keys_response { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct PublicKey { - #[prost(bytes = "vec", tag = "1")] - pub value: ::prost::alloc::vec::Vec, - } +/// Nested message and enum types in `GetProofsResponse`. +pub mod get_proofs_response { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct PublicKeyEntry { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, + pub struct GetProofsResponseV0 { + #[prost(message, optional, tag = "1")] + pub proof: ::core::option::Option, #[prost(message, optional, tag = "2")] - pub value: ::core::option::Option, - } - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct PublicKeyEntries { - #[prost(message, repeated, tag = "1")] - pub public_key_entries: ::prost::alloc::vec::Vec, + pub metadata: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - PublicKeys(PublicKeyEntries), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetProofsResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetProofsRequest { - #[prost(message, repeated, tag = "1")] - pub identities: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "2")] - pub contracts: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "3")] - pub documents: ::prost::alloc::vec::Vec, +pub struct GetDataContractRequest { + #[prost(oneof = "get_data_contract_request::Version", tags = "1")] + pub version: ::core::option::Option, } -/// Nested message and enum types in `GetProofsRequest`. -pub mod get_proofs_request { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct DocumentRequest { - #[prost(bytes = "vec", tag = "1")] - pub contract_id: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub document_type: ::prost::alloc::string::String, - #[prost(bool, tag = "3")] - pub document_type_keeps_history: bool, - #[prost(bytes = "vec", tag = "4")] - pub document_id: ::prost::alloc::vec::Vec, - } +/// Nested message and enum types in `GetDataContractRequest`. +pub mod get_data_contract_request { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct IdentityRequest { + pub struct GetDataContractRequestV0 { #[prost(bytes = "vec", tag = "1")] - pub identity_id: ::prost::alloc::vec::Vec, - #[prost(enumeration = "identity_request::Type", tag = "2")] - pub request_type: i32, - } - /// Nested message and enum types in `IdentityRequest`. - pub mod identity_request { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum Type { - FullIdentity = 0, - Balance = 1, - Keys = 2, - } - impl Type { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Type::FullIdentity => "FULL_IDENTITY", - Type::Balance => "BALANCE", - Type::Keys => "KEYS", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "FULL_IDENTITY" => Some(Self::FullIdentity), - "BALANCE" => Some(Self::Balance), - "KEYS" => Some(Self::Keys), - _ => None, - } - } - } + pub id: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, } #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct ContractRequest { - #[prost(bytes = "vec", tag = "1")] - pub contract_id: ::prost::alloc::vec::Vec, + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetDataContractRequestV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetProofsResponse { - #[prost(message, optional, tag = "1")] - pub proof: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub metadata: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetDataContractRequest { - #[prost(bytes = "vec", tag = "1")] - pub id: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "2")] - pub prove: bool, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_data_contract_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_data_contract_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetDataContractResponse`. pub mod get_data_contract_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetDataContractResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_data_contract_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetDataContractResponseV0`. + pub mod get_data_contract_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(bytes, tag = "1")] + DataContract(::prost::alloc::vec::Vec), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { - #[prost(bytes, tag = "1")] - DataContract(::prost::alloc::vec::Vec), - #[prost(message, tag = "2")] - Proof(super::Proof), + pub enum Version { + #[prost(message, tag = "1")] + V0(GetDataContractResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractsRequest { - #[prost(bytes = "vec", repeated, tag = "1")] - pub ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(bool, tag = "2")] - pub prove: bool, + #[prost(oneof = "get_data_contracts_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetDataContractsRequest`. +pub mod get_data_contracts_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetDataContractsRequestV0 { + #[prost(bytes = "vec", repeated, tag = "1")] + pub ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetDataContractsRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractsResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_data_contracts_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_data_contracts_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetDataContractsResponse`. pub mod get_data_contracts_response { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct DataContractValue { - #[prost(bytes = "vec", tag = "1")] - pub value: ::prost::alloc::vec::Vec, - } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DataContractEntry { #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, + pub identifier: ::prost::alloc::vec::Vec, #[prost(message, optional, tag = "2")] - pub value: ::core::option::Option, + pub data_contract: ::core::option::Option<::prost::alloc::vec::Vec>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -550,246 +687,473 @@ pub mod get_data_contracts_response { pub data_contract_entries: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetDataContractsResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_data_contracts_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetDataContractsResponseV0`. + pub mod get_data_contracts_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + DataContracts(super::DataContracts), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - DataContracts(DataContracts), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetDataContractsResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractHistoryRequest { - #[prost(bytes = "vec", tag = "1")] - pub id: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub limit: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub offset: ::core::option::Option, - #[prost(uint64, tag = "4")] - pub start_at_ms: u64, - #[prost(bool, tag = "5")] - pub prove: bool, + #[prost(oneof = "get_data_contract_history_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetDataContractHistoryRequest`. +pub mod get_data_contract_history_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetDataContractHistoryRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub id: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub limit: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub offset: ::core::option::Option, + #[prost(uint64, tag = "4")] + pub start_at_ms: u64, + #[prost(bool, tag = "5")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetDataContractHistoryRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractHistoryResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_data_contract_history_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_data_contract_history_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetDataContractHistoryResponse`. pub mod get_data_contract_history_response { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct DataContractHistoryEntry { - #[prost(uint64, tag = "1")] - pub date: u64, - #[prost(bytes = "vec", tag = "2")] - pub value: ::prost::alloc::vec::Vec, + pub struct GetDataContractHistoryResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_data_contract_history_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option< + get_data_contract_history_response_v0::Result, + >, } - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct DataContractHistory { - #[prost(message, repeated, tag = "1")] - pub data_contract_entries: ::prost::alloc::vec::Vec, + /// Nested message and enum types in `GetDataContractHistoryResponseV0`. + pub mod get_data_contract_history_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContractHistoryEntry { + #[prost(uint64, tag = "1")] + pub date: u64, + #[prost(bytes = "vec", tag = "2")] + pub value: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContractHistory { + #[prost(message, repeated, tag = "1")] + pub data_contract_entries: ::prost::alloc::vec::Vec< + DataContractHistoryEntry, + >, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + DataContractHistory(DataContractHistory), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - DataContractHistory(DataContractHistory), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetDataContractHistoryResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDocumentsRequest { - #[prost(bytes = "vec", tag = "1")] - pub data_contract_id: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub document_type: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "3")] - pub r#where: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "4")] - pub order_by: ::prost::alloc::vec::Vec, - #[prost(uint32, tag = "5")] - pub limit: u32, - #[prost(bool, tag = "8")] - pub prove: bool, - #[prost(oneof = "get_documents_request::Start", tags = "6, 7")] - pub start: ::core::option::Option, + #[prost(oneof = "get_documents_request::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetDocumentsRequest`. pub mod get_documents_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetDocumentsRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub data_contract_id: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub document_type: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "3")] + pub r#where: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "4")] + pub order_by: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub limit: u32, + #[prost(bool, tag = "8")] + pub prove: bool, + #[prost(oneof = "get_documents_request_v0::Start", tags = "6, 7")] + pub start: ::core::option::Option, + } + /// Nested message and enum types in `GetDocumentsRequestV0`. + pub mod get_documents_request_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Start { + #[prost(bytes, tag = "6")] + StartAfter(::prost::alloc::vec::Vec), + #[prost(bytes, tag = "7")] + StartAt(::prost::alloc::vec::Vec), + } + } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Start { - #[prost(bytes, tag = "6")] - StartAfter(::prost::alloc::vec::Vec), - #[prost(bytes, tag = "7")] - StartAt(::prost::alloc::vec::Vec), + pub enum Version { + #[prost(message, tag = "1")] + V0(GetDocumentsRequestV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDocumentsResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_documents_response::Result", tags = "1, 2")] - pub result: ::core::option::Option, + #[prost(oneof = "get_documents_response::Version", tags = "1")] + pub version: ::core::option::Option, } /// Nested message and enum types in `GetDocumentsResponse`. pub mod get_documents_response { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Documents { - #[prost(bytes = "vec", repeated, tag = "1")] - pub documents: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + pub struct GetDocumentsResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_documents_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetDocumentsResponseV0`. + pub mod get_documents_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Documents { + #[prost(bytes = "vec", repeated, tag = "1")] + pub documents: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Documents(Documents), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - Documents(Documents), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetDocumentsResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesByPublicKeyHashesRequest { - #[prost(bytes = "vec", repeated, tag = "1")] - pub public_key_hashes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(bool, tag = "2")] - pub prove: bool, + #[prost(oneof = "get_identities_by_public_key_hashes_request::Version", tags = "1")] + pub version: ::core::option::Option< + get_identities_by_public_key_hashes_request::Version, + >, +} +/// Nested message and enum types in `GetIdentitiesByPublicKeyHashesRequest`. +pub mod get_identities_by_public_key_hashes_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentitiesByPublicKeyHashesRequestV0 { + #[prost(bytes = "vec", repeated, tag = "1")] + pub public_key_hashes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentitiesByPublicKeyHashesRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesByPublicKeyHashesResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost( - oneof = "get_identities_by_public_key_hashes_response::Result", - tags = "1, 2" - )] - pub result: ::core::option::Option< - get_identities_by_public_key_hashes_response::Result, + #[prost(oneof = "get_identities_by_public_key_hashes_response::Version", tags = "1")] + pub version: ::core::option::Option< + get_identities_by_public_key_hashes_response::Version, >, } /// Nested message and enum types in `GetIdentitiesByPublicKeyHashesResponse`. pub mod get_identities_by_public_key_hashes_response { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Identities { - #[prost(bytes = "vec", repeated, tag = "1")] - pub identities: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + pub struct PublicKeyHashIdentityEntry { + #[prost(bytes = "vec", tag = "1")] + pub public_key_hash: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub value: ::core::option::Option<::prost::alloc::vec::Vec>, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct IdentitiesByPublicKeyHashes { + #[prost(message, repeated, tag = "1")] + pub identity_entries: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentitiesByPublicKeyHashesResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost( + oneof = "get_identities_by_public_key_hashes_response_v0::Result", + tags = "1, 2" + )] + pub result: ::core::option::Option< + get_identities_by_public_key_hashes_response_v0::Result, + >, + } + /// Nested message and enum types in `GetIdentitiesByPublicKeyHashesResponseV0`. + pub mod get_identities_by_public_key_hashes_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Identities(super::IdentitiesByPublicKeyHashes), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - Identities(Identities), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(GetIdentitiesByPublicKeyHashesResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetIdentityByPublicKeyHashesRequest { - #[prost(bytes = "vec", tag = "1")] - pub public_key_hash: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "2")] - pub prove: bool, +pub struct GetIdentityByPublicKeyHashRequest { + #[prost(oneof = "get_identity_by_public_key_hash_request::Version", tags = "1")] + pub version: ::core::option::Option< + get_identity_by_public_key_hash_request::Version, + >, +} +/// Nested message and enum types in `GetIdentityByPublicKeyHashRequest`. +pub mod get_identity_by_public_key_hash_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityByPublicKeyHashRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub public_key_hash: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentityByPublicKeyHashRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetIdentityByPublicKeyHashesResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "get_identity_by_public_key_hashes_response::Result", tags = "1, 2")] - pub result: ::core::option::Option< - get_identity_by_public_key_hashes_response::Result, +pub struct GetIdentityByPublicKeyHashResponse { + #[prost(oneof = "get_identity_by_public_key_hash_response::Version", tags = "1")] + pub version: ::core::option::Option< + get_identity_by_public_key_hash_response::Version, >, } -/// Nested message and enum types in `GetIdentityByPublicKeyHashesResponse`. -pub mod get_identity_by_public_key_hashes_response { +/// Nested message and enum types in `GetIdentityByPublicKeyHashResponse`. +pub mod get_identity_by_public_key_hash_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetIdentityByPublicKeyHashResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost( + oneof = "get_identity_by_public_key_hash_response_v0::Result", + tags = "1, 2" + )] + pub result: ::core::option::Option< + get_identity_by_public_key_hash_response_v0::Result, + >, + } + /// Nested message and enum types in `GetIdentityByPublicKeyHashResponseV0`. + pub mod get_identity_by_public_key_hash_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(bytes, tag = "1")] + Identity(::prost::alloc::vec::Vec), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { - #[prost(bytes, tag = "1")] - Identity(::prost::alloc::vec::Vec), - #[prost(message, tag = "2")] - Proof(super::Proof), + pub enum Version { + #[prost(message, tag = "1")] + V0(GetIdentityByPublicKeyHashResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WaitForStateTransitionResultRequest { - #[prost(bytes = "vec", tag = "1")] - pub state_transition_hash: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "2")] - pub prove: bool, + #[prost(oneof = "wait_for_state_transition_result_request::Version", tags = "1")] + pub version: ::core::option::Option< + wait_for_state_transition_result_request::Version, + >, +} +/// Nested message and enum types in `WaitForStateTransitionResultRequest`. +pub mod wait_for_state_transition_result_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct WaitForStateTransitionResultRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub state_transition_hash: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(WaitForStateTransitionResultRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WaitForStateTransitionResultResponse { - #[prost(message, optional, tag = "3")] - pub metadata: ::core::option::Option, - #[prost(oneof = "wait_for_state_transition_result_response::Result", tags = "1, 2")] - pub result: ::core::option::Option< - wait_for_state_transition_result_response::Result, + #[prost(oneof = "wait_for_state_transition_result_response::Version", tags = "1")] + pub version: ::core::option::Option< + wait_for_state_transition_result_response::Version, >, } /// Nested message and enum types in `WaitForStateTransitionResultResponse`. pub mod wait_for_state_transition_result_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct WaitForStateTransitionResultResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost( + oneof = "wait_for_state_transition_result_response_v0::Result", + tags = "1, 2" + )] + pub result: ::core::option::Option< + wait_for_state_transition_result_response_v0::Result, + >, + } + /// Nested message and enum types in `WaitForStateTransitionResultResponseV0`. + pub mod wait_for_state_transition_result_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Error(super::super::StateTransitionBroadcastError), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Result { + pub enum Version { #[prost(message, tag = "1")] - Error(super::StateTransitionBroadcastError), - #[prost(message, tag = "2")] - Proof(super::Proof), + V0(WaitForStateTransitionResultResponseV0), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusParamsBlock { - #[prost(string, tag = "1")] - pub max_bytes: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub max_gas: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub time_iota_ms: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusParamsEvidence { - #[prost(string, tag = "1")] - pub max_age_num_blocks: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub max_age_duration: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub max_bytes: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] pub struct GetConsensusParamsRequest { - #[prost(int64, tag = "1")] - pub height: i64, - #[prost(bool, tag = "2")] - pub prove: bool, + #[prost(oneof = "get_consensus_params_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetConsensusParamsRequest`. +pub mod get_consensus_params_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetConsensusParamsRequestV0 { + #[prost(int32, tag = "1")] + pub height: i32, + #[prost(bool, tag = "2")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetConsensusParamsRequestV0), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetConsensusParamsResponse { - #[prost(message, optional, tag = "1")] - pub block: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub evidence: ::core::option::Option, + #[prost(oneof = "get_consensus_params_response::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetConsensusParamsResponse`. +pub mod get_consensus_params_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ConsensusParamsBlock { + #[prost(string, tag = "1")] + pub max_bytes: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub max_gas: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub time_iota_ms: ::prost::alloc::string::String, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ConsensusParamsEvidence { + #[prost(string, tag = "1")] + pub max_age_num_blocks: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub max_age_duration: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub max_bytes: ::prost::alloc::string::String, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetConsensusParamsResponseV0 { + #[prost(message, optional, tag = "1")] + pub block: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub evidence: ::core::option::Option, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetConsensusParamsResponseV0), + } } /// Generated client implementations. pub mod platform_client { @@ -993,10 +1357,9 @@ pub mod platform_client { ); self.inner.unary(req, path, codec).await } - /// rpc getIdentitiesKeys (GetIdentitiesKeysRequest) returns (GetIdentitiesKeysResponse); pub async fn get_identity_balance( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< tonic::Response, tonic::Status, @@ -1026,7 +1389,7 @@ pub mod platform_client { } pub async fn get_identity_balance_and_revision( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< tonic::Response, tonic::Status, @@ -1230,11 +1593,11 @@ pub mod platform_client { ); self.inner.unary(req, path, codec).await } - pub async fn get_identity_by_public_key_hashes( + pub async fn get_identity_by_public_key_hash( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner @@ -1248,14 +1611,14 @@ pub mod platform_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/org.dash.platform.dapi.v0.Platform/getIdentityByPublicKeyHashes", + "/org.dash.platform.dapi.v0.Platform/getIdentityByPublicKeyHash", ); let mut req = request.into_request(); req.extensions_mut() .insert( GrpcMethod::new( "org.dash.platform.dapi.v0.Platform", - "getIdentityByPublicKeyHashes", + "getIdentityByPublicKeyHash", ), ); self.inner.unary(req, path, codec).await diff --git a/packages/dapi/lib/dpp/DriveStateRepository.js b/packages/dapi/lib/dpp/DriveStateRepository.js index 6bceb50d11..6c00703990 100644 --- a/packages/dapi/lib/dpp/DriveStateRepository.js +++ b/packages/dapi/lib/dpp/DriveStateRepository.js @@ -32,7 +32,7 @@ class DriveStateRepository { ); return this.dpp.dataContract.createFromBuffer( - Buffer.from(dataContractResponse.getDataContract()), + Buffer.from(dataContractResponse.getV0().getDataContract()), { skipValidation: true }, ); } diff --git a/packages/dapi/lib/externalApis/drive/fetchProofForStateTransitionFactory.js b/packages/dapi/lib/externalApis/drive/fetchProofForStateTransitionFactory.js index 349e64eada..2153807a4e 100644 --- a/packages/dapi/lib/externalApis/drive/fetchProofForStateTransitionFactory.js +++ b/packages/dapi/lib/externalApis/drive/fetchProofForStateTransitionFactory.js @@ -21,8 +21,10 @@ function fetchProofForStateTransitionFactory(driveClient) { const modifiedIds = stateTransition.getModifiedDataIds(); + const { GetProofsRequestV0 } = GetProofsRequest; + if (stateTransition.isDocumentStateTransition()) { - const { DocumentRequest } = GetProofsRequest; + const { DocumentRequest } = GetProofsRequestV0; const documentsList = stateTransition.getTransitions().map((documentTransition) => { const documentRequest = new DocumentRequest(); @@ -32,11 +34,11 @@ function fetchProofForStateTransitionFactory(driveClient) { return documentRequest; }); - getProofsRequest.setDocumentsList(documentsList); + getProofsRequest.setV0(new GetProofsRequestV0().setDocumentsList(documentsList)); } if (stateTransition.isIdentityStateTransition()) { - const { IdentityRequest } = GetProofsRequest; + const { IdentityRequest } = GetProofsRequestV0; - getProofsRequest.setIdentitiesList(modifiedIds.map((id) => { + const identitiesList = modifiedIds.map((id) => { const identityRequest = new IdentityRequest(); identityRequest.setIdentityId(id.toBuffer()); identityRequest.setRequestType( @@ -44,15 +46,20 @@ function fetchProofForStateTransitionFactory(driveClient) { ? IdentityRequest.Type.BALANCE : IdentityRequest.Type.FULL_IDENTITY, ); return identityRequest; - })); + }); + + getProofsRequest.setV0(new GetProofsRequestV0().setIdentitiesList(identitiesList)); } if (stateTransition.isDataContractStateTransition()) { - const { ContractRequest } = GetProofsRequest; + const { ContractRequest } = GetProofsRequestV0; - getProofsRequest.setContractsList(modifiedIds.map((id) => { + const contractsList = modifiedIds.map((id) => { const identityRequest = new ContractRequest(); identityRequest.setContractId(id.toBuffer()); return identityRequest; - })); + }); + + getProofsRequest.setV0(new GetProofsRequestV0() + .setContractsList(contractsList)); } const responseBytes = await driveClient.fetchProofs(getProofsRequest); diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js index 04aeb018f4..5d4f7e85ec 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.js @@ -11,8 +11,6 @@ const { const { v0: { GetConsensusParamsResponse, - ConsensusParamsBlock, - ConsensusParamsEvidence, }, } = require('@dashevo/dapi-grpc'); @@ -33,7 +31,7 @@ function getConsensusParamsHandlerFactory(getConsensusParams) { async function getConsensusParamsHandler(call) { const { request } = call; - const prove = request.getProve(); + const prove = request.getV0().getProve(); if (prove) { throw new InvalidArgumentGrpcError('Prove is not implemented yet'); @@ -41,7 +39,7 @@ function getConsensusParamsHandlerFactory(getConsensusParams) { // If height is not set - gRPC returns 0 // in this case we use undefined - const height = request.getHeight() || undefined; + const height = request.getV0().getHeight() || undefined; let consensusParams; @@ -60,20 +58,27 @@ function getConsensusParamsHandlerFactory(getConsensusParams) { } const response = new GetConsensusParamsResponse(); + const { + ConsensusParamsBlock, + GetConsensusParamsResponseV0, + ConsensusParamsEvidence, + } = GetConsensusParamsResponse; const block = new ConsensusParamsBlock(); block.setMaxBytes(consensusParams.block.max_bytes); block.setMaxGas(consensusParams.block.max_gas); block.setTimeIotaMs(consensusParams.block.time_iota_ms); - response.setBlock(block); - const evidence = new ConsensusParamsEvidence(); evidence.setMaxAgeNumBlocks(consensusParams.evidence.max_age_num_blocks); evidence.setMaxAgeDuration(consensusParams.evidence.max_age_duration); evidence.setMaxBytes(consensusParams.evidence.max_bytes); - response.setEvidence(evidence); + response.setV0( + new GetConsensusParamsResponseV0() + .setBlock(block) + .setEvidence(evidence), + ); return response; } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHandlerFactory.js index ee1e26970f..8d3c8a567a 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHandlerFactory.js @@ -28,7 +28,7 @@ function getDataContractHandlerFactory(driveClient) { async function getDataContractHandler(call) { const { request } = call; - if (request.getId() === null) { + if (request.getV0().getId() === null) { throw new InvalidArgumentGrpcError('id is not specified'); } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHistoryHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHistoryHandlerFactory.js index c9527ff518..40f607a935 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHistoryHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/getDataContractHistoryHandlerFactory.js @@ -28,7 +28,7 @@ function getDataContractHistoryHandlerFactory(driveClient) { async function getDataContractHistoryHandler(call) { const { request } = call; - if (request.getId() === null) { + if (request.getV0().getId() === null) { throw new InvalidArgumentGrpcError('id is not specified'); } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getDocumentsHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getDocumentsHandlerFactory.js index 2bea68362a..4fdd454823 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/getDocumentsHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/getDocumentsHandlerFactory.js @@ -29,11 +29,11 @@ function getDocumentsHandlerFactory(driveClient) { async function getDocumentsHandler(call) { const { request } = call; - if (!request.getDataContractId()) { + if (!request.getV0().getDataContractId()) { throw new InvalidArgumentGrpcError('dataContractId is not specified'); } - if (!request.getDocumentType()) { + if (!request.getV0().getDocumentType()) { throw new InvalidArgumentGrpcError('documentType is not specified'); } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.js index 4088624ba7..e0d31d6244 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.js @@ -28,7 +28,7 @@ function getIdentitiesByPublicKeyHashesHandlerFactory( async function getIdentitiesByPublicKeyHashesHandler(call) { const { request } = call; - if (request.getPublicKeyHashesList().length === 0) { + if (request.getV0().getPublicKeyHashesList().length === 0) { throw new InvalidArgumentGrpcError('No public key hashes were provided'); } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getIdentityHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getIdentityHandlerFactory.js index 9b18b1612b..1a78a398b6 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/getIdentityHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/getIdentityHandlerFactory.js @@ -28,7 +28,7 @@ function getIdentityHandlerFactory(driveClient) { async function getIdentityHandler(call) { const { request } = call; - if (!request.getId()) { + if (!request.getV0().getId()) { throw new InvalidArgumentGrpcError('id is not specified'); } diff --git a/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js index b5c02ca400..ae1c8dda1b 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.js @@ -63,8 +63,8 @@ function waitForStateTransitionResultHandlerFactory( async function waitForStateTransitionResultHandler(call) { const { request } = call; - const stateTransitionHash = request.getStateTransitionHash(); - const prove = request.getProve(); + const stateTransitionHash = request.getV0().getStateTransitionHash(); + const prove = request.getV0().getProve(); if (!stateTransitionHash) { throw new InvalidArgumentGrpcError('state transition hash is not specified'); @@ -94,14 +94,16 @@ function waitForStateTransitionResultHandlerFactory( } const response = new WaitForStateTransitionResultResponse(); + const v0 = new WaitForStateTransitionResultResponse + .WaitForStateTransitionResultResponseV0(); if (result instanceof TransactionErrorResult) { const error = await createStateTransitionDeliverError( result.getResult(), ); - response.setError(error); - + v0.setError(error); + response.setV0(v0); return response; } @@ -112,9 +114,10 @@ function waitForStateTransitionResultHandlerFactory( ); const stateTransitionProof = await fetchProofForStateTransition(stateTransition); - response.setMetadata(stateTransitionProof.getMetadata()); - response.setProof(stateTransitionProof.getProof()); + v0.setMetadata(stateTransitionProof.getV0().getMetadata()); + v0.setProof(stateTransitionProof.getV0().getProof()); } + response.setV0(v0); return response; } diff --git a/packages/dapi/test/integration/dpp/DriveStateRepository.spec.js b/packages/dapi/test/integration/dpp/DriveStateRepository.spec.js index 1fec7446aa..27cfd77cbc 100644 --- a/packages/dapi/test/integration/dpp/DriveStateRepository.spec.js +++ b/packages/dapi/test/integration/dpp/DriveStateRepository.spec.js @@ -39,7 +39,10 @@ describe('DriveStateRepository', () => { dpp = new DashPlatformProtocol(null, 1); proto = new GetDataContractResponse(); - proto.setDataContract(dataContractFixture.toBuffer()); + proto.setV0( + new GetDataContractResponse.GetDataContractResponseV0() + .setDataContract(dataContractFixture.toBuffer()), + ); driveClientMock = sinon.stub(); driveClientMock.fetchDataContract = this.sinon.stub().resolves( diff --git a/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js b/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js index d1a77b4b4f..2eac560cd1 100644 --- a/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js +++ b/packages/dapi/test/integration/grpcServer/handlers/platform/waitForStateTransitionResultHandlerFactory.spec.js @@ -45,6 +45,7 @@ describe('waitForStateTransitionResultHandlerFactory', () => { let wsMessagesFixture; let stateTransitionFixture; let request; + let requestPayloadMock; let fetchProofForStateTransition; let waitForTransactionToBeProvable; let transactionNotFoundError; @@ -162,9 +163,12 @@ describe('waitForStateTransitionResultHandlerFactory', () => { }, }; - call = new GrpcCallMock(this.sinon, { + requestPayloadMock = { getStateTransitionHash: this.sinon.stub().returns(hash), getProve: this.sinon.stub().returns(false), + }; + call = new GrpcCallMock(this.sinon, { + getV0: () => requestPayloadMock, }); tenderDashWsClientMock = new EventEmitter(); @@ -183,8 +187,11 @@ describe('waitForStateTransitionResultHandlerFactory', () => { metadataFixture.setProtocolVersion(1); const response = new GetProofsResponse(); - response.setProof(proofFixture); - response.setMetadata(metadataFixture); + response.setV0( + new GetProofsResponse.GetProofsResponseV0() + .setProof(proofFixture) + .setMetadata(metadataFixture), + ); driveClientMock = { fetchProofs: this.sinon.stub().resolves(response.serializeBinary()), @@ -241,12 +248,12 @@ describe('waitForStateTransitionResultHandlerFactory', () => { const result = await promise; expect(result).to.be.an.instanceOf(WaitForStateTransitionResultResponse); - expect(result.getProof()).to.be.undefined(); - expect(result.getError()).to.be.undefined(); + expect(result.getV0().getProof()).to.be.undefined(); + expect(result.getV0().getError()).to.be.undefined(); }); it('should wait for state transition and return result with proof', async () => { - call.request.getProve.returns(true); + requestPayloadMock.getProve.returns(true); const promise = waitForStateTransitionResultHandler(call); @@ -267,23 +274,29 @@ describe('waitForStateTransitionResultHandlerFactory', () => { const result = await promise; expect(result).to.be.an.instanceOf(WaitForStateTransitionResultResponse); - expect(result.getError()).to.be.undefined(); - const proof = result.getProof(); + expect(result.getV0().getError()).to.be.undefined(); + const proof = result.getV0().getProof(); expect(proof).to.be.an.instanceOf(Proof); const merkleProof = proof.getGrovedbProof(); expect(merkleProof).to.deep.equal(proofFixture.getGrovedbProof()); + const { GetProofsRequestV0 } = GetProofsRequest; const getProofsRequest = new GetProofsRequest(); - const { IdentityRequest } = GetProofsRequest; + const { IdentityRequest } = GetProofsRequestV0; - getProofsRequest.setIdentitiesList(stateTransitionFixture.getModifiedDataIds().map((id) => { + const identitiesList = stateTransitionFixture.getModifiedDataIds().map((id) => { const identityRequest = new IdentityRequest(); identityRequest.setIdentityId(id.toBuffer()); identityRequest.setRequestType(IdentityRequest.Type.FULL_IDENTITY); return identityRequest; - })); + }); + + getProofsRequest.setV0( + new GetProofsRequestV0() + .setIdentitiesList(identitiesList), + ); expect(driveClientMock.fetchProofs).to.be.calledOnceWithExactly(getProofsRequest); }); @@ -291,9 +304,9 @@ describe('waitForStateTransitionResultHandlerFactory', () => { it('should wait for state transition and return result with error', (done) => { waitForStateTransitionResultHandler(call).then((result) => { expect(result).to.be.an.instanceOf(WaitForStateTransitionResultResponse); - expect(result.getProof()).to.be.undefined(); + expect(result.getV0().getProof()).to.be.undefined(); - const error = result.getError(); + const error = result.getV0().getError(); expect(error).to.be.an.instanceOf(StateTransitionBroadcastError); const errorData = error.getData(); @@ -319,6 +332,7 @@ describe('waitForStateTransitionResultHandlerFactory', () => { it('should throw an InvalidArgumentGrpcError if stateTransitionHash wasn\'t set', async () => { request = new WaitForStateTransitionResultRequest(); + request.setV0(new WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0()); call.request = WaitForStateTransitionResultRequest.deserializeBinary(request.serializeBinary()); @@ -336,10 +350,11 @@ describe('waitForStateTransitionResultHandlerFactory', () => { const hashString = 'ABFF'; request = new WaitForStateTransitionResultRequest(); + request.setV0(new WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0()); const stHash = Buffer.from(hashString, 'hex'); - request.setStateTransitionHash(stHash); + request.getV0().setStateTransitionHash(stHash); transactionNotFoundError.data = `tx (${hashString}) not found, err: %!w()`; diff --git a/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js b/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js index 418c9c2b06..4ba4758be2 100644 --- a/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js +++ b/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js @@ -5,6 +5,8 @@ const cbor = require('cbor'); const chaiAsPromised = require('chai-as-promised'); const dirtyChai = require('dirty-chai'); +const { BytesValue } = require('google-protobuf/google/protobuf/wrappers_pb'); + const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); const InvalidArgumentGrpcError = require('@dashevo/grpc-common/lib/server/error/InvalidArgumentGrpcError'); const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); @@ -100,12 +102,20 @@ describe('DriveClient', () => { const contractId = 'someId'; const data = Buffer.from('someData'); + const { GetDataContractRequestV0 } = GetDataContractRequest; const request = new GetDataContractRequest(); - request.setId(contractId); - request.setProve(false); + request.setV0( + new GetDataContractRequestV0() + .setId(contractId) + .setProve(false), + ); + const { GetDataContractResponseV0 } = GetDataContractResponse; const response = new GetDataContractResponse(); - response.setDataContract(data); + response.setV0( + new GetDataContractResponseV0() + .setDataContract(data), + ); const responseBytes = response.serializeBinary(); sinon.stub(drive.client, 'request') @@ -135,15 +145,22 @@ describe('DriveClient', () => { where: 'id === someId', }; + const { GetDocumentsRequestV0 } = GetDocumentsRequest; const request = new GetDocumentsRequest(); - request.setDataContractId(contractId); - request.setDocumentType(type); - request.setWhere(cbor.encode({ where: options.where })); + request.setV0( + new GetDocumentsRequestV0() + .setDataContractId(contractId) + .setDocumentType(type) + .setWhere(cbor.encode({ where: options.where })), + ); + const { GetDocumentsResponseV0 } = GetDocumentsResponse; const response = new GetDocumentsResponse(); - const documents = new GetDocumentsResponse.Documents(); - documents.setDocumentsList([]); - response.setDocuments(documents); + response.setV0( + new GetDocumentsResponseV0() + .setDocuments(new GetDocumentsResponseV0.Documents().setDocumentsList([])), + ); + const responseBytes = response.serializeBinary(); sinon.stub(drive.client, 'request') @@ -170,11 +187,19 @@ describe('DriveClient', () => { const identityId = 'someId'; const data = Buffer.from('someData'); + const { GetIdentityRequestV0 } = GetIdentityRequest; const request = new GetIdentityRequest(); - request.setId(identityId); + request.setV0( + new GetIdentityRequestV0() + .setId(identityId), + ); + const { GetIdentityResponseV0 } = GetIdentityResponse; const response = new GetIdentityResponse(); - response.setIdentity(data); + response.setV0( + new GetIdentityResponseV0() + .setIdentity(data), + ); const responseBytes = response.serializeBinary(); sinon.stub(drive.client, 'request') @@ -202,14 +227,31 @@ describe('DriveClient', () => { const publicKeyHashes = [Buffer.alloc(1)]; + const { GetIdentitiesByPublicKeyHashesRequestV0 } = GetIdentitiesByPublicKeyHashesRequest; const request = new GetIdentitiesByPublicKeyHashesRequest(); - request.setPublicKeyHashesList(publicKeyHashes); - request.setProve(false); + request.setV0( + new GetIdentitiesByPublicKeyHashesRequestV0() + .setPublicKeyHashesList(publicKeyHashes) + .setProve(false), + ); + + const { + IdentitiesByPublicKeyHashes, + PublicKeyHashIdentityEntry, + GetIdentitiesByPublicKeyHashesResponseV0, + } = GetIdentitiesByPublicKeyHashesResponse; const response = new GetIdentitiesByPublicKeyHashesResponse(); - const identitiesList = new GetIdentitiesByPublicKeyHashesResponse.Identities(); - identitiesList.setIdentitiesList([identity.toBuffer()]); - response.setIdentities(identitiesList); + response.setV0( + new GetIdentitiesByPublicKeyHashesResponseV0().setIdentities( + new IdentitiesByPublicKeyHashes() + .setIdentityEntriesList([ + new PublicKeyHashIdentityEntry() + .setPublicKeyHash(publicKeyHashes[0]) + .setValue(new BytesValue().setValue(identity.toBuffer())), + ]), + ), + ); const responseBytes = response.serializeBinary(); sinon.stub(drive.client, 'request') @@ -236,17 +278,26 @@ describe('DriveClient', () => { const identityIds = [Buffer.from('id')]; const request = new GetProofsRequest(); - request.setIdentitiesList(identityIds.map((id) => { - const { IdentityRequest } = GetProofsRequest; - const identityRequest = new IdentityRequest(); - identityRequest.setIdentityId(id); - identityRequest.setRequestType(IdentityRequest.Type.FULL_IDENTITY); - return identityRequest; - })); + const { GetProofsRequestV0 } = GetProofsRequest; + request.setV0( + new GetProofsRequestV0() + .setIdentitiesList(identityIds.map((id) => { + const { IdentityRequest } = GetProofsRequestV0; + const identityRequest = new IdentityRequest(); + identityRequest.setIdentityId(id); + identityRequest.setRequestType(IdentityRequest.Type.FULL_IDENTITY); + return identityRequest; + })), + ); + const { GetProofsResponseV0 } = GetProofsResponse; const response = new GetProofsResponse(); - response.setProof(new Proof()); - response.setMetadata(new ResponseMetadata()); + response.setV0( + new GetProofsResponseV0() + .setProof(new Proof()) + .setMetadata(new ResponseMetadata()), + ); + const responseBytes = response.serializeBinary(); sinon.stub(drive.client, 'request') diff --git a/packages/dapi/test/unit/externalApis/drive/fetchProofForStateTransitionFactory.spec.js b/packages/dapi/test/unit/externalApis/drive/fetchProofForStateTransitionFactory.spec.js index 677c4b9583..d23051fcc4 100644 --- a/packages/dapi/test/unit/externalApis/drive/fetchProofForStateTransitionFactory.spec.js +++ b/packages/dapi/test/unit/externalApis/drive/fetchProofForStateTransitionFactory.spec.js @@ -21,20 +21,21 @@ describe('fetchProofForStateTransition', () => { let stateTransitionFixture; beforeEach(async function beforeEach() { + const { GetProofsResponseV0 } = GetProofsResponse; dataContractsProofResponse = new GetProofsResponse(); - dataContractsProofResponse.setProof(new Proof([Buffer.from('data contracts proof')])); + dataContractsProofResponse.setV0(new GetProofsResponseV0().setProof(new Proof([Buffer.from('data contracts proof')]))); documentsProofResponse = new GetProofsResponse(); - documentsProofResponse.setProof(new Proof([Buffer.from('documents contracts proof')])); + documentsProofResponse.setV0(new GetProofsResponseV0().setProof(new Proof([Buffer.from('documents contracts proof')]))); identitiesProofResponse = new GetProofsResponse(); - identitiesProofResponse.setProof(new Proof([Buffer.from('identities contracts proof')])); + identitiesProofResponse.setV0(new GetProofsResponseV0().setProof(new Proof([Buffer.from('identities contracts proof')]))); driveClientMock = { fetchProofs: this.sinon.stub().callsFake(async (requestProto) => { - if (requestProto.getIdentitiesList().length > 0) { + if (requestProto.getV0().getIdentitiesList().length > 0) { return identitiesProofResponse.serializeBinary(); - } if (requestProto.getDocumentsList().length > 0) { + } if (requestProto.getV0().getDocumentsList().length > 0) { return documentsProofResponse.serializeBinary(); - } if (requestProto.getContractsList().length > 0) { + } if (requestProto.getV0().getContractsList().length > 0) { return dataContractsProofResponse.serializeBinary(); } diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.spec.js index 1c2e7f0e0d..f80d580d09 100644 --- a/packages/dapi/test/unit/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.spec.js +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getConsensusParamsHandlerFactory.spec.js @@ -1,8 +1,6 @@ const { v0: { GetConsensusParamsResponse, - ConsensusParamsBlock, - ConsensusParamsEvidence, }, } = require('@dashevo/dapi-grpc'); const { @@ -31,7 +29,9 @@ describe('getConsensusParamsHandlerFactory', () => { getProve: this.sinon.stub().returns(false), }; - call = new GrpcCallMock(this.sinon, request); + call = new GrpcCallMock(this.sinon, { + getV0: () => request, + }); consensusParamsFixture = { block: { @@ -63,14 +63,14 @@ describe('getConsensusParamsHandlerFactory', () => { expect(result).to.be.an.instanceOf(GetConsensusParamsResponse); - const block = result.getBlock(); - expect(block).to.be.an.instanceOf(ConsensusParamsBlock); + const block = result.getV0().getBlock(); + expect(block).to.be.an.instanceOf(GetConsensusParamsResponse.ConsensusParamsBlock); expect(block.getMaxBytes()).to.equal(consensusParamsFixture.block.max_bytes); expect(block.getMaxGas()).to.equal(consensusParamsFixture.block.max_gas); expect(block.getTimeIotaMs()).to.equal(consensusParamsFixture.block.time_iota_ms); - const evidence = result.getEvidence(); - expect(evidence).to.be.an.instanceOf(ConsensusParamsEvidence); + const evidence = result.getV0().getEvidence(); + expect(evidence).to.be.an.instanceOf(GetConsensusParamsResponse.ConsensusParamsEvidence); expect(evidence.getMaxBytes()).to.equal(consensusParamsFixture.evidence.max_bytes); expect(evidence.getMaxAgeDuration()).to.equal(consensusParamsFixture.evidence.max_age_duration); expect(evidence.getMaxAgeNumBlocks()) @@ -141,14 +141,14 @@ describe('getConsensusParamsHandlerFactory', () => { expect(result).to.be.an.instanceOf(GetConsensusParamsResponse); - const block = result.getBlock(); - expect(block).to.be.an.instanceOf(ConsensusParamsBlock); + const block = result.getV0().getBlock(); + expect(block).to.be.an.instanceOf(GetConsensusParamsResponse.ConsensusParamsBlock); expect(block.getMaxBytes()).to.equal(consensusParamsFixture.block.max_bytes); expect(block.getMaxGas()).to.equal(consensusParamsFixture.block.max_gas); expect(block.getTimeIotaMs()).to.equal(consensusParamsFixture.block.time_iota_ms); - const evidence = result.getEvidence(); - expect(evidence).to.be.an.instanceOf(ConsensusParamsEvidence); + const evidence = result.getV0().getEvidence(); + expect(evidence).to.be.an.instanceOf(GetConsensusParamsResponse.ConsensusParamsEvidence); expect(evidence.getMaxBytes()).to.equal(consensusParamsFixture.evidence.max_bytes); expect(evidence.getMaxAgeDuration()).to.equal(consensusParamsFixture.evidence.max_age_duration); expect(evidence.getMaxAgeNumBlocks()) diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getDataContractHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getDataContractHandlerFactory.spec.js index 3f9f577518..f7a62f9293 100644 --- a/packages/dapi/test/unit/grpcServer/handlers/platform/getDataContractHandlerFactory.spec.js +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getDataContractHandlerFactory.spec.js @@ -42,7 +42,9 @@ describe('getDataContractHandlerFactory', () => { getProve: this.sinon.stub().returns(true), }; - call = new GrpcCallMock(this.sinon, request); + call = new GrpcCallMock(this.sinon, { + getV0: () => request, + }); dataContractFixture = await getDataContractFixture(); proofFixture = { @@ -53,10 +55,16 @@ describe('getDataContractHandlerFactory', () => { proofMock.setGrovedbProof(proofFixture.merkleProof); response = new GetDataContractResponse(); - response.setDataContract(dataContractFixture.toBuffer()); + response.setV0( + new GetDataContractResponse.GetDataContractResponseV0() + .setDataContract(dataContractFixture.toBuffer()), + ); proofResponse = new GetDataContractResponse(); - proofResponse.setProof(proofMock); + proofResponse.setV0( + new GetDataContractResponse.GetDataContractResponseV0() + .setProof(proofMock), + ); driveClientMock = { fetchDataContract: this.sinon.stub().resolves(response.serializeBinary()), @@ -72,12 +80,12 @@ describe('getDataContractHandlerFactory', () => { expect(result).to.be.an.instanceOf(GetDataContractResponse); - const contractBinary = result.getDataContract(); + const contractBinary = result.getV0().getDataContract(); expect(contractBinary).to.be.an.instanceOf(Uint8Array); expect(contractBinary).to.deep.equal(dataContractFixture.toBuffer()); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.undefined(); }); @@ -95,10 +103,10 @@ describe('getDataContractHandlerFactory', () => { expect(result).to.be.an.instanceOf(GetDataContractResponse); - const contractBinary = result.getDataContract(); + const contractBinary = result.getV0().getDataContract(); expect(contractBinary).to.be.equal(''); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.an.instanceOf(Proof); const merkleProof = proof.getGrovedbProof(); @@ -110,13 +118,13 @@ describe('getDataContractHandlerFactory', () => { it('should not include proof', async () => { request.getProve.returns(false); - response.setProof(null); + response.getV0().setProof(null); driveClientMock.fetchDataContract.resolves(response.serializeBinary()); const result = await getDataContractHandler(call); expect(result).to.be.an.instanceOf(GetDataContractResponse); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.undefined(); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getDocumentsHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getDocumentsHandlerFactory.spec.js index 60da061e59..69aff5ffb0 100644 --- a/packages/dapi/test/unit/grpcServer/handlers/platform/getDocumentsHandlerFactory.spec.js +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getDocumentsHandlerFactory.spec.js @@ -64,7 +64,9 @@ describe('getDocumentsHandlerFactory', () => { getProve: this.sinon.stub().returns(false), }; - call = new GrpcCallMock(this.sinon, request); + call = new GrpcCallMock(this.sinon, { + getV0: () => request, + }); const [document] = await getDocumentsFixture(); @@ -78,13 +80,20 @@ describe('getDocumentsHandlerFactory', () => { proofMock = new Proof(); proofMock.setGrovedbProof(proofFixture.merkleProof); + const { GetDocumentsResponseV0 } = GetDocumentsResponse; response = new GetDocumentsResponse(); - const documentsList = new GetDocumentsResponse.Documents(); - documentsList.setDocumentsList(documentsSerialized); - response.setDocuments(documentsList); + response.setV0( + new GetDocumentsResponseV0() + .setDocuments( + new GetDocumentsResponseV0.Documents() + .setDocumentsList(documentsSerialized), + ), + ); proofResponse = new GetDocumentsResponse(); - proofResponse.setProof(proofMock); + proofResponse.setV0( + new GetDocumentsResponseV0().setProof(proofMock), + ); driveStateRepositoryMock = { fetchDocuments: this.sinon.stub().resolves(response.serializeBinary()), @@ -96,12 +105,12 @@ describe('getDocumentsHandlerFactory', () => { }); it('should return valid result', async () => { - response.setProof(null); + response.getV0().setProof(null); const result = await getDocumentsHandler(call); expect(result).to.be.an.instanceOf(GetDocumentsResponse); - const documents = result.getDocuments(); + const documents = result.getV0().getDocuments(); const documentsBinary = documents.getDocumentsList(); expect(documentsBinary).to.be.an('array'); @@ -113,7 +122,7 @@ describe('getDocumentsHandlerFactory', () => { expect(documentsBinary[0]).to.deep.equal(documentsSerialized[0]); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.undefined(); }); @@ -130,7 +139,7 @@ describe('getDocumentsHandlerFactory', () => { call.request, ); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.an.instanceOf(Proof); const merkleProof = proof.getGrovedbProof(); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.spec.js index 0cd7ffac96..00388413e2 100644 --- a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.spec.js +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentitiesByPublicKeyHashesHandlerFactory.spec.js @@ -1,3 +1,5 @@ +const { BytesValue } = require('google-protobuf/google/protobuf/wrappers_pb'); + const { server: { error: { @@ -31,15 +33,20 @@ describe('getIdentitiesByPublicKeyHashesHandlerFactory', () => { let proofMock; let response; let proofResponse; + let request; beforeEach(async function beforeEach() { publicKeyHash = Buffer.from('556c2910d46fda2b327ef9d9bda850cc84d30db0', 'hex'); - call = new GrpcCallMock(this.sinon, { + request = { getPublicKeyHashesList: this.sinon.stub().returns( [publicKeyHash], ), getProve: this.sinon.stub().returns(false), + }; + + call = new GrpcCallMock(this.sinon, { + getV0: () => request, }); identity = await getIdentityFixture(); @@ -51,14 +58,28 @@ describe('getIdentitiesByPublicKeyHashesHandlerFactory', () => { proofMock = new Proof(); proofMock.setGrovedbProof(proofFixture.merkleProof); - response = new GetIdentitiesByPublicKeyHashesResponse(); - const identitiesList = new GetIdentitiesByPublicKeyHashesResponse.Identities(); - identitiesList.setIdentitiesList([identity.toBuffer()]); + const { + IdentitiesByPublicKeyHashes, + PublicKeyHashIdentityEntry, + GetIdentitiesByPublicKeyHashesResponseV0, + } = GetIdentitiesByPublicKeyHashesResponse; - response.setIdentities(identitiesList); + response = new GetIdentitiesByPublicKeyHashesResponse(); + response.setV0( + new GetIdentitiesByPublicKeyHashesResponseV0().setIdentities( + new IdentitiesByPublicKeyHashes() + .setIdentityEntriesList([ + new PublicKeyHashIdentityEntry() + .setPublicKeyHash(publicKeyHash) + .setValue(new BytesValue().setValue(identity.toBuffer())), + ]), + ), + ); proofResponse = new GetIdentitiesByPublicKeyHashesResponse(); - proofResponse.setProof(proofMock); + proofResponse.setV0( + new GetIdentitiesByPublicKeyHashesResponseV0().setProof(proofMock), + ); driveClientMock = { fetchIdentitiesByPublicKeyHashes: this.sinon.stub().resolves(response.serializeBinary()), @@ -74,27 +95,31 @@ describe('getIdentitiesByPublicKeyHashesHandlerFactory', () => { expect(result).to.be.an.instanceOf(GetIdentitiesByPublicKeyHashesResponse); - expect(result.getIdentities().getIdentitiesList()).to.deep.equal( - [identity.toBuffer()], + expect(result.getV0() + .getIdentities() + .getIdentityEntriesList()[0] + .getValue() + .getValue()).to.deep.equal( + identity.toBuffer(), ); expect(driveClientMock.fetchIdentitiesByPublicKeyHashes) .to.be.calledOnceWith(call.request); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.undefined(); }); it('should return proof', async () => { - call.request.getProve.returns(true); + request.getProve.returns(true); driveClientMock.fetchIdentitiesByPublicKeyHashes.resolves(proofResponse.serializeBinary()); const result = await getIdentitiesByPublicKeyHashesHandler(call); expect(result).to.be.an.instanceOf(GetIdentitiesByPublicKeyHashesResponse); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.an.instanceOf(Proof); const merkleProof = proof.getGrovedbProof(); @@ -103,7 +128,7 @@ describe('getIdentitiesByPublicKeyHashesHandlerFactory', () => { }); it('should throw an InvalidArgumentGrpcError if no hashes were submitted', async () => { - call.request.getPublicKeyHashesList.returns([]); + request.getPublicKeyHashesList.returns([]); try { await getIdentitiesByPublicKeyHashesHandler(call); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityHandlerFactory.spec.js index 4624202128..e3340dfcf5 100644 --- a/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityHandlerFactory.spec.js +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getIdentityHandlerFactory.spec.js @@ -29,14 +29,18 @@ describe('getIdentityHandlerFactory', () => { let identity; let proofFixture; let proofMock; + let request; let response; let proofResponse; beforeEach(async function beforeEach() { id = await generateRandomIdentifierAsync(); - call = new GrpcCallMock(this.sinon, { + request = { getId: this.sinon.stub().returns(id), getProve: this.sinon.stub().returns(false), + }; + call = new GrpcCallMock(this.sinon, { + getV0: () => request, }); identity = await getIdentityFixture(); @@ -49,10 +53,16 @@ describe('getIdentityHandlerFactory', () => { proofMock.setGrovedbProof(proofFixture.merkleProof); response = new GetIdentityResponse(); - response.setIdentity(identity.toBuffer()); + response.setV0( + new GetIdentityResponse.GetIdentityResponseV0() + .setIdentity(identity.toBuffer()), + ); proofResponse = new GetIdentityResponse(); - proofResponse.setProof(proofMock); + proofResponse.setV0( + new GetIdentityResponse.GetIdentityResponseV0() + .setProof(proofMock), + ); driveStateRepositoryMock = { fetchIdentity: this.sinon.stub().resolves(response.serializeBinary()), @@ -67,15 +77,15 @@ describe('getIdentityHandlerFactory', () => { const result = await getIdentityHandler(call); expect(result).to.be.an.instanceOf(GetIdentityResponse); - expect(result.getIdentity()).to.deep.equal(identity.toBuffer()); + expect(result.getV0().getIdentity()).to.deep.equal(identity.toBuffer()); expect(driveStateRepositoryMock.fetchIdentity).to.be.calledOnceWith(call.request); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.undefined(); }); it('should return proof', async () => { - call.request.getProve.returns(true); + request.getProve.returns(true); driveStateRepositoryMock.fetchIdentity.resolves(proofResponse.serializeBinary()); @@ -83,7 +93,7 @@ describe('getIdentityHandlerFactory', () => { expect(result).to.be.an.instanceOf(GetIdentityResponse); - const proof = result.getProof(); + const proof = result.getV0().getProof(); expect(proof).to.be.an.instanceOf(Proof); const merkleProof = proof.getGrovedbProof(); @@ -94,7 +104,7 @@ describe('getIdentityHandlerFactory', () => { }); it('should throw an InvalidArgumentGrpcError if id is not specified', async () => { - call.request.getId.returns(null); + request.getId.returns(null); try { await getIdentityHandler(call); diff --git a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js index 02bbc9de0f..92c2a29a56 100644 --- a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js @@ -7,6 +7,10 @@ const { const InvalidResponseError = require('../response/errors/InvalidResponseError'); const GetConsensusParamsResponse = require('./getConsensusParamsResponse'); +const { + GetConsensusParamsRequestV0, +} = GetConsensusParamsRequest; + /** * @param {GrpcTransport} grpcTransport * @returns {getConsensusParams} @@ -22,11 +26,15 @@ function getConsensusParamsFactory(grpcTransport) { */ async function getConsensusParams(height = undefined, options = {}) { const getConsensusParamsRequest = new GetConsensusParamsRequest(); + getConsensusParamsRequest.setV0( + new GetConsensusParamsRequestV0(), + ); + if (height !== undefined) { - getConsensusParamsRequest.setHeight(height); + getConsensusParamsRequest.getV0().setHeight(height); } - getConsensusParamsRequest.setProve(!!options.prove); + getConsensusParamsRequest.getV0().setProve(!!options.prove); let lastError; diff --git a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js index 35a9cafe14..0e0dbe25f9 100644 --- a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js @@ -32,8 +32,8 @@ class GetConsensusParamsResponse { * @returns {GetConsensusParamsResponse} */ static createFromProto(proto) { - const protoBlock = proto.getBlock(); - const protoEvidence = proto.getEvidence(); + const protoBlock = proto.getV0().getBlock(); + const protoEvidence = proto.getV0().getEvidence(); if (!protoBlock && !protoEvidence) { throw new InvalidResponseError('Consensus params are not defined'); diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js b/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js index f60206c0d6..e1be4b3506 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js @@ -25,7 +25,7 @@ class GetDataContractResponse extends AbstractResponse { * @returns {GetDataContractResponse} */ static createFromProto(proto) { - const dataContract = proto.getDataContract(); + const dataContract = proto.getV0().getDataContract(); const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto(proto); if (!dataContract && !proof) { diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js b/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js index 62ac8972de..2b20633cac 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js @@ -22,6 +22,7 @@ function getDataContractFactory(grpcTransport) { * @returns {Promise} */ async function getDataContract(contractId, options = {}) { + const { GetDataContractRequestV0 } = GetDataContractRequest; const getDataContractRequest = new GetDataContractRequest(); // need to convert objects inherited from Buffer to pure buffer as google protobuf @@ -32,8 +33,11 @@ function getDataContractFactory(grpcTransport) { contractId = Buffer.from(contractId); } - getDataContractRequest.setId(contractId); - getDataContractRequest.setProve(!!options.prove); + getDataContractRequest.setV0( + new GetDataContractRequestV0() + .setId(contractId) + .setProve(!!options.prove), + ); let lastError; diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js index 1fba537ec5..e8af783842 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js @@ -26,7 +26,7 @@ class GetDataContractHistoryResponse extends AbstractResponse { */ static createFromProto(proto) { // History is something that we need to call a method to get a list of entries on - const dataContractHistory = proto.getDataContractHistory(); + const dataContractHistory = proto.getV0().getDataContractHistory(); const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto(proto); if (!dataContractHistory && !proof) { diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js index 523d8b71d2..c4e1fb4d34 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js @@ -32,6 +32,7 @@ function getDataContractHistoryFactory(grpcTransport) { offset = 0, options = {}, ) { + const { GetDataContractHistoryRequestV0 } = GetDataContractHistoryRequest; const getDataContractHistoryRequest = new GetDataContractHistoryRequest(); // need to convert objects inherited from Buffer to pure buffer as google protobuf @@ -42,11 +43,14 @@ function getDataContractHistoryFactory(grpcTransport) { contractId = Buffer.from(contractId); } - getDataContractHistoryRequest.setId(contractId); - getDataContractHistoryRequest.setStartAtMs(startAtMs); - getDataContractHistoryRequest.setLimit(new UInt32Value([limit])); - getDataContractHistoryRequest.setOffset(new UInt32Value([offset])); - getDataContractHistoryRequest.setProve(!!options.prove); + getDataContractHistoryRequest.setV0( + new GetDataContractHistoryRequestV0() + .setId(contractId) + .setStartAtMs(startAtMs) + .setLimit(new UInt32Value([limit])) + .setOffset(new UInt32Value([offset])) + .setProve(!!options.prove), + ); let lastError; diff --git a/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js b/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js index 1f7358b65f..5340a5d3b0 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js @@ -26,7 +26,7 @@ class GetDocumentsResponse extends AbstractResponse { static createFromProto(proto) { const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto(proto); - const documents = proto.getDocuments(); + const documents = proto.getV0().getDocuments(); return new GetDocumentsResponse( documents !== undefined diff --git a/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js b/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js index 25cc99dd88..7a9735d074 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js @@ -43,6 +43,7 @@ function getDocumentsFactory(grpcTransport) { orderBySerialized = cbor.encode(orderBy); } + const { GetDocumentsRequestV0 } = GetDocumentsRequest; const getDocumentsRequest = new GetDocumentsRequest(); // need to convert Identifier to pure buffer as google protobuf doesn't support extended buffers // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 @@ -55,14 +56,17 @@ function getDocumentsFactory(grpcTransport) { contractId = Buffer.from(contractId); } - getDocumentsRequest.setDataContractId(contractId); - getDocumentsRequest.setDocumentType(type); - getDocumentsRequest.setWhere(whereSerialized); - getDocumentsRequest.setOrderBy(orderBySerialized); - getDocumentsRequest.setLimit(limit); - getDocumentsRequest.setStartAfter(startAfter); - getDocumentsRequest.setStartAt(startAt); - getDocumentsRequest.setProve(!!options.prove); + getDocumentsRequest.setV0( + new GetDocumentsRequestV0() + .setDataContractId(contractId) + .setDocumentType(type) + .setWhere(whereSerialized) + .setOrderBy(orderBySerialized) + .setLimit(limit) + .setStartAfter(startAfter) + .setStartAt(startAt) + .setProve(!!options.prove), + ); let lastError; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.js index 2960d4b38f..18b6198fb4 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.js @@ -26,11 +26,17 @@ class GetIdentitiesByPublicKeyHashesResponse extends AbstractResponse { static createFromProto(proto) { const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto(proto); - const identitiesList = proto.getIdentities(); + const identitiesList = proto.getV0().getIdentities(); return new GetIdentitiesByPublicKeyHashesResponse( identitiesList !== undefined - ? identitiesList.getIdentitiesList_asU8().map((identity) => Buffer.from(identity)) : [], + ? identitiesList.getIdentityEntriesList() + .map((identity) => { + const value = identity.getValue(); + // TODO: rework to return whole `identity.getValue()` instead of inner getValue() + return value && Buffer.from(value.getValue()); + }) + : [], metadata, proof, ); diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.js index 05005dc90e..3c7c55f350 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.js @@ -22,11 +22,14 @@ function getIdentitiesByPublicKeyHashesFactory(grpcTransport) { * @returns {Promise} */ async function getIdentitiesByPublicKeyHashes(publicKeyHashes, options = {}) { + const { GetIdentitiesByPublicKeyHashesRequestV0 } = GetIdentitiesByPublicKeyHashesRequest; const getIdentitiesByPublicKeyHashesRequest = new GetIdentitiesByPublicKeyHashesRequest(); - getIdentitiesByPublicKeyHashesRequest.setPublicKeyHashesList( - publicKeyHashes, + getIdentitiesByPublicKeyHashesRequest.setV0( + new GetIdentitiesByPublicKeyHashesRequestV0() + .setPublicKeyHashesList( + publicKeyHashes, + ).setProve(!!options.prove), ); - getIdentitiesByPublicKeyHashesRequest.setProve(!!options.prove); let lastError; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js index a6147701db..718633fb56 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js @@ -25,7 +25,7 @@ class GetIdentityResponse extends AbstractResponse { * @returns {GetIdentityResponse} */ static createFromProto(proto) { - const identity = proto.getIdentity(); + const identity = proto.getV0().getIdentity(); const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto(proto); if (!identity && !proof) { @@ -33,7 +33,7 @@ class GetIdentityResponse extends AbstractResponse { } return new GetIdentityResponse( - Buffer.from(proto.getIdentity()), + Buffer.from(proto.getV0().getIdentity()), metadata, proof, ); diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js index 243dde2634..416467df96 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js @@ -22,6 +22,7 @@ function getIdentityFactory(grpcTransport) { * @returns {Promise} */ async function getIdentity(id, options = {}) { + const { GetIdentityRequestV0 } = GetIdentityRequest; const getIdentityRequest = new GetIdentityRequest(); // need to convert objects inherited from Buffer to pure buffer as google protobuf // doesn't support extended buffers @@ -31,8 +32,11 @@ function getIdentityFactory(grpcTransport) { id = Buffer.from(id); } - getIdentityRequest.setId(id); - getIdentityRequest.setProve(!!options.prove); + getIdentityRequest.setV0( + new GetIdentityRequestV0() + .setId(id) + .setProve(!!options.prove), + ); let lastError; diff --git a/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js b/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js index e14a6c7cd6..4625f65f76 100644 --- a/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js @@ -37,13 +37,13 @@ class AbstractResponse { * @throws {InvalidResponseError} */ static createMetadataAndProofFromProto(proto) { - const metadata = proto.getMetadata(); + const metadata = proto.getV0().getMetadata(); if (metadata === undefined) { throw new InvalidResponseError('Metadata is not defined'); } - const rawProof = proto.getProof(); + const rawProof = proto.getV0().getProof(); let proof; if (rawProof) { diff --git a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js index b4e1dbb5e9..da357d7d9d 100644 --- a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js @@ -32,25 +32,26 @@ class WaitForStateTransitionResultResponse extends AbstractResponse { let error; let proof; - if (proto.getProof()) { - proof = Proof.createFromProto(proto.getProof()); + if (proto.getV0().getProof()) { + proof = Proof.createFromProto(proto.getV0().getProof()); } - if (proto.getError()) { + if (proto.getV0().getError()) { let data; - const rawData = proto.getError().getData(); + const rawData = proto.getV0().getError().getData(); if (rawData) { data = cbor.decode(Buffer.from(rawData)); } error = new ErrorResult( - proto.getError().getCode(), - proto.getError().getMessage(), + proto.getV0().getError().getCode(), + proto.getV0().getError().getMessage(), data, ); } - const metadata = proto.getMetadata() ? new Metadata(proto.getMetadata().toObject()) : null; + const metadata = proto.getV0().getMetadata() + ? new Metadata(proto.getV0().getMetadata().toObject()) : null; return new WaitForStateTransitionResultResponse( metadata, diff --git a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js index baa5771f97..62d7466fba 100644 --- a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js @@ -31,10 +31,13 @@ function waitForStateTransitionResultFactory(grpcTransport) { ...options, }; + const { WaitForStateTransitionResultRequestV0 } = WaitForStateTransitionResultRequest; const waitForStateTransitionResultRequest = new WaitForStateTransitionResultRequest(); - - waitForStateTransitionResultRequest.setStateTransitionHash(stateTransitionHash); - waitForStateTransitionResultRequest.setProve(options.prove); + waitForStateTransitionResultRequest.setV0( + new WaitForStateTransitionResultRequestV0() + .setStateTransitionHash(stateTransitionHash) + .setProve(options.prove), + ); let lastError; diff --git a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js index ec18f38084..61cbf0ca9a 100644 --- a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js +++ b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js @@ -16,6 +16,11 @@ const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdent const PlatformMethodsFacade = require('../../../../lib/methods/platform/PlatformMethodsFacade'); +const { WaitForStateTransitionResultResponseV0 } = WaitForStateTransitionResultResponse; +const { GetIdentityResponseV0 } = GetIdentityResponse; +const { GetDocumentsResponseV0 } = GetDocumentsResponse; +const { GetDataContractResponseV0 } = GetDataContractResponse; + describe('PlatformMethodsFacade', () => { let grpcTransportMock; let platformMethods; @@ -47,8 +52,11 @@ describe('PlatformMethodsFacade', () => { describe('#getDataContract', () => { it('should get data contract', async () => { const response = new GetDataContractResponse(); - response.setMetadata(new ResponseMetadata()); - response.setDataContract((await getDataContractFixture()).toBuffer()); + response.setV0( + new GetDataContractResponseV0() + .setMetadata(new ResponseMetadata()) + .setDataContract((await getDataContractFixture()).toBuffer()), + ); grpcTransportMock.request.resolves(response); await platformMethods.getDataContract((await getDataContractFixture()).getId()); @@ -60,7 +68,10 @@ describe('PlatformMethodsFacade', () => { describe('#getDocuments', () => { it('should get documents', async () => { const response = new GetDocumentsResponse(); - response.setMetadata(new ResponseMetadata()); + response.setV0( + new GetDocumentsResponseV0() + .setMetadata(new ResponseMetadata()), + ); grpcTransportMock.request.resolves(response); await platformMethods.getDocuments( @@ -75,9 +86,11 @@ describe('PlatformMethodsFacade', () => { describe('#getIdentity', () => { it('should get Identity', async () => { const response = new GetIdentityResponse(); - - response.setMetadata(new ResponseMetadata()); - response.setIdentity((await getIdentityFixture()).toBuffer()); + response.setV0( + new GetIdentityResponseV0() + .setMetadata(new ResponseMetadata()) + .setIdentity((await getIdentityFixture()).toBuffer()), + ); grpcTransportMock.request.resolves(response); @@ -90,7 +103,11 @@ describe('PlatformMethodsFacade', () => { describe('#waitForStateTransitionResult', () => { it('should wait for state transition', async () => { const response = new WaitForStateTransitionResultResponse(); - response.setMetadata(new ResponseMetadata()); + response.setV0( + new WaitForStateTransitionResultResponseV0() + .setMetadata(new ResponseMetadata()), + ); + grpcTransportMock.request.resolves(response); await platformMethods.waitForStateTransitionResult( diff --git a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js index 3a95cf906c..77ab7d32b4 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js @@ -3,13 +3,20 @@ const { PlatformPromiseClient, GetConsensusParamsResponse, GetConsensusParamsRequest, - ConsensusParamsBlock, - ConsensusParamsEvidence, }, } = require('@dashevo/dapi-grpc'); const getConsensusParamsFactory = require('../../../../../lib/methods/platform/getConsensusParams/getConsensusParamsFactory'); const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); +const { + GetConsensusParamsRequestV0, +} = GetConsensusParamsRequest; + +const { + ConsensusParamsBlock, + ConsensusParamsEvidence, + GetConsensusParamsResponseV0, +} = GetConsensusParamsResponse; describe('getConsensusParams', () => { let getConsensusParams; let grpcTransportMock; @@ -41,8 +48,11 @@ describe('getConsensusParams', () => { evidence.setMaxBytes(consensusParamsFixture.evidence.maxBytes); response = new GetConsensusParamsResponse(); - response.setBlock(block); - response.setEvidence(evidence); + response.setV0( + new GetConsensusParamsResponseV0() + .setBlock(block) + .setEvidence(evidence), + ); grpcTransportMock = { request: this.sinon.stub().resolves(response), @@ -56,7 +66,10 @@ describe('getConsensusParams', () => { const options = {}; const request = new GetConsensusParamsRequest(); - request.setProve(!!options.prove); + request.setV0( + new GetConsensusParamsRequestV0() + .setProve(!!options.prove), + ); expect(grpcTransportMock.request.getCall(0).args).to.have.deep.members([ PlatformPromiseClient, @@ -76,8 +89,11 @@ describe('getConsensusParams', () => { const options = { }; const request = new GetConsensusParamsRequest(); - request.setProve(!!options.prove); - request.setHeight(height); + request.setV0( + new GetConsensusParamsRequestV0() + .setProve(!!options.prove) + .setHeight(height), + ); expect(grpcTransportMock.request.getCall(0).args).to.have.deep.members([ PlatformPromiseClient, @@ -96,7 +112,10 @@ describe('getConsensusParams', () => { const result = await getConsensusParams(undefined, options); const request = new GetConsensusParamsRequest(); - request.setProve(!!options.prove); + request.setV0( + new GetConsensusParamsRequestV0() + .setProve(!!options.prove), + ); expect(grpcTransportMock.request.getCall(0).args).to.have.deep.members([ PlatformPromiseClient, @@ -116,7 +135,10 @@ describe('getConsensusParams', () => { grpcTransportMock.request.throws(error); const request = new GetConsensusParamsRequest(); - request.setProve(!!options.prove); + request.setV0( + new GetConsensusParamsRequestV0() + .setProve(!!options.prove), + ); try { await getConsensusParams(); @@ -135,7 +157,10 @@ describe('getConsensusParams', () => { grpcTransportMock.request.throws(error); const request = new GetConsensusParamsRequest(); - request.setProve(!!options.prove); + request.setV0( + new GetConsensusParamsRequestV0() + .setProve(!!options.prove), + ); try { await getConsensusParams(); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js index 779a760f18..4a0a808311 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js @@ -1,8 +1,6 @@ const { v0: { GetConsensusParamsResponse: GetConsensusParamsResponseProto, - ConsensusParamsBlock: ConsensusParamsBlockProto, - ConsensusParamsEvidence: ConsensusParamsEvidenceProto, }, } = require('@dashevo/dapi-grpc'); const GetConsensusParamsResponse = require('../../../../../lib/methods/platform/getConsensusParams/getConsensusParamsResponse'); @@ -10,6 +8,12 @@ const InvalidResponseError = require('../../../../../lib/methods/platform/respon const ConsensusParamsBlock = require('../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsBlock'); const ConsensusParamsEvidence = require('../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsEvidence'); +const { + ConsensusParamsBlock: ConsensusParamsBlockProto, + ConsensusParamsEvidence: ConsensusParamsEvidenceProto, + GetConsensusParamsResponseV0, +} = GetConsensusParamsResponseProto; + describe('getConsensusParamsResponse', () => { let getConsensusParamsResponse; let consensusParamsFixture; @@ -79,8 +83,11 @@ describe('getConsensusParamsResponse', () => { evidence.setMaxBytes(consensusParamsFixture.evidence.maxBytes); const proto = new GetConsensusParamsResponseProto(); - proto.setBlock(block); - proto.setEvidence(evidence); + proto.setV0( + new GetConsensusParamsResponseV0() + .setBlock(block) + .setEvidence(evidence), + ); getConsensusParamsResponse = GetConsensusParamsResponse.createFromProto(proto); @@ -103,6 +110,7 @@ describe('getConsensusParamsResponse', () => { it('should return InvalidResponseError if consensus params are not defined', () => { const proto = new GetConsensusParamsResponseProto(); + proto.setV0(new GetConsensusParamsResponseV0()); try { getConsensusParamsResponse = GetConsensusParamsResponse.createFromProto(proto); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js index ff731970d1..61986919aa 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js @@ -57,14 +57,18 @@ describe('GetDataContractResponse', () => { }); it('should create an instance from proto', () => { + const { GetDataContractResponseV0 } = GetDataContractResponse; const proto = new GetDataContractResponse(); - proto.setDataContract(dataContractFixture.toBuffer()); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); - proto.setMetadata(metadata); + proto.setV0( + new GetDataContractResponseV0() + .setDataContract(dataContractFixture.toBuffer()) + .setMetadata(metadata), + ); getDataContractResponse = GetDataContractResponseClass.createFromProto(proto); expect(getDataContractResponse).to.be.an.instanceOf(GetDataContractResponseClass); @@ -87,16 +91,19 @@ describe('GetDataContractResponse', () => { proofProto.setSignature(proofFixture.signature); proofProto.setGrovedbProof(proofFixture.merkleProof); + const { GetDataContractResponseV0 } = GetDataContractResponse; const proto = new GetDataContractResponse(); - proto.setDataContract(undefined); - proto.setProof(proofProto); - const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); - proto.setMetadata(metadata); + proto.setV0( + new GetDataContractResponseV0() + .setDataContract(undefined) + .setMetadata(metadata) + .setProof(proofProto), + ); getDataContractResponse = GetDataContractResponseClass.createFromProto(proto); expect(getDataContractResponse).to.be.an.instanceOf(GetDataContractResponseClass); @@ -118,8 +125,12 @@ describe('GetDataContractResponse', () => { }); it('should throw InvalidResponseError if Metadata is not defined', () => { + const { GetDataContractResponseV0 } = GetDataContractResponse; const proto = new GetDataContractResponse(); - proto.setDataContract(dataContractFixture.toBuffer()); + proto.setV0( + new GetDataContractResponseV0() + .setDataContract(dataContractFixture.toBuffer()), + ); try { getDataContractResponse = GetDataContractResponseClass.createFromProto(proto); @@ -131,12 +142,16 @@ describe('GetDataContractResponse', () => { }); it('should throw InvalidResponseError if DataContract is not defined', () => { + const { GetDataContractResponseV0 } = GetDataContractResponse; const proto = new GetDataContractResponse(); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); - proto.setMetadata(metadata); + proto.setV0( + new GetDataContractResponseV0() + .setMetadata(metadata), + ); try { getDataContractResponse = GetDataContractResponseClass.createFromProto(proto); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js index 95a531fe5f..219531898f 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js @@ -28,8 +28,8 @@ describe('getDataContractFactory', () => { beforeEach(async function beforeEach() { dataContractFixture = await getDataContractFixture(); + const { GetDataContractResponseV0 } = GetDataContractResponse; response = new GetDataContractResponse(); - response.setDataContract(dataContractFixture.toBuffer()); metadataFixture = getMetadataFixture(); proofFixture = getProofFixture(); @@ -40,7 +40,11 @@ describe('getDataContractFactory', () => { metadata.setTimeMs(metadataFixture.timeMs); metadata.setProtocolVersion(metadataFixture.protocolVersion); - response.setMetadata(metadata); + response.setV0( + new GetDataContractResponseV0() + .setMetadata(metadata) + .setDataContract(dataContractFixture.toBuffer()), + ); grpcTransportMock = { request: this.sinon.stub().resolves(response), @@ -64,9 +68,13 @@ describe('getDataContractFactory', () => { const contractId = dataContractFixture.getId(); const result = await getDataContract(contractId, options); + const { GetDataContractRequestV0 } = GetDataContractRequest; const request = new GetDataContractRequest(); - request.setId(contractId); - request.setProve(false); + request.setV0( + new GetDataContractRequestV0() + .setId(contractId) + .setProve(false), + ); expect(grpcTransportMock.request.getCall(0).args).to.have.deep.members([ PlatformPromiseClient, @@ -85,15 +93,19 @@ describe('getDataContractFactory', () => { it('should return proof', async () => { options.prove = true; - response.setProof(proof); - response.setDataContract(undefined); + response.getV0().setProof(proof); + response.getV0().setDataContract(undefined); const contractId = dataContractFixture.getId(); const result = await getDataContract(contractId, options); + const { GetDataContractRequestV0 } = GetDataContractRequest; const request = new GetDataContractRequest(); - request.setId(contractId); - request.setProve(true); + request.setV0( + new GetDataContractRequestV0() + .setId(contractId) + .setProve(true), + ); expect(grpcTransportMock.request.getCall(0).args).to.have.deep.members([ PlatformPromiseClient, @@ -121,9 +133,13 @@ describe('getDataContractFactory', () => { grpcTransportMock.request.throws(error); + const { GetDataContractRequestV0 } = GetDataContractRequest; const request = new GetDataContractRequest(); - request.setId(contractId.toBuffer()); - request.setProve(false); + request.setV0( + new GetDataContractRequestV0() + .setId(contractId.toBuffer()) + .setProve(false), + ); try { await getDataContract(contractId, options); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js index 9966f6922c..39d04be098 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js @@ -62,10 +62,15 @@ describe('GetDataContractHistoryResponse', () => { }); it('should create an instance from proto', () => { + const { + + GetDataContractHistoryResponseV0, + } = GetDataContractHistoryResponse; + const { DataContractHistory, DataContractHistoryEntry, - } = GetDataContractHistoryResponse; + } = GetDataContractHistoryResponseV0; const dataContractHistoryEntryProto = new DataContractHistoryEntry(); dataContractHistoryEntryProto.setDate(1000); @@ -84,13 +89,16 @@ describe('GetDataContractHistoryResponse', () => { // Each entry has date and value, and value also has a value? const proto = new GetDataContractHistoryResponse(); - proto.setDataContractHistory(dataContractHistoryProto); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); - proto.setMetadata(metadata); + proto.setV0( + new GetDataContractHistoryResponseV0() + .setDataContractHistory(dataContractHistoryProto) + .setMetadata(metadata), + ); getDataContractHistoryResponse = GetDataContractHistoryResponseClass.createFromProto(proto); @@ -117,16 +125,19 @@ describe('GetDataContractHistoryResponse', () => { proofProto.setSignature(proofFixture.signature); proofProto.setGrovedbProof(proofFixture.merkleProof); + const { GetDataContractHistoryResponseV0 } = GetDataContractHistoryResponse; const proto = new GetDataContractHistoryResponse(); - proto.setDataContractHistory(undefined); - proto.setProof(proofProto); - const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); - proto.setMetadata(metadata); + proto.setV0( + new GetDataContractHistoryResponseV0() + .setDataContractHistory(undefined) + .setProof(proofProto) + .setMetadata(metadata), + ); getDataContractHistoryResponse = GetDataContractHistoryResponseClass.createFromProto(proto); expect(getDataContractHistoryResponse).to.be.an.instanceOf(GetDataContractHistoryResponseClass); @@ -148,10 +159,14 @@ describe('GetDataContractHistoryResponse', () => { }); it('should throw InvalidResponseError if Metadata is not defined', () => { + const { + GetDataContractHistoryResponseV0, + } = GetDataContractHistoryResponse; + const { DataContractHistory, DataContractHistoryEntry, - } = GetDataContractHistoryResponse; + } = GetDataContractHistoryResponseV0; const dataContractHistoryEntryProto = new DataContractHistoryEntry(); dataContractHistoryEntryProto.setDate(1000); @@ -168,7 +183,10 @@ describe('GetDataContractHistoryResponse', () => { ]); const proto = new GetDataContractHistoryResponse(); - proto.setDataContractHistory(dataContractHistoryProto); + proto.setV0( + new GetDataContractHistoryResponseV0() + .setDataContractHistory(dataContractHistoryProto), + ); try { getDataContractHistoryResponse = GetDataContractHistoryResponseClass.createFromProto(proto); @@ -180,12 +198,16 @@ describe('GetDataContractHistoryResponse', () => { }); it('should throw InvalidResponseError if DataContractHistory is not defined', () => { + const { GetDataContractHistoryResponseV0 } = GetDataContractHistoryResponse; const proto = new GetDataContractHistoryResponse(); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); - proto.setMetadata(metadata); + proto.setV0( + new GetDataContractHistoryResponseV0() + .setMetadata(metadata), + ); try { getDataContractHistoryResponse = GetDataContractHistoryResponseClass.createFromProto(proto); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js index d691c8359c..4ef665e37f 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js @@ -13,8 +13,10 @@ const { const { v0: { GetDataContractHistoryResponse: { - DataContractHistory, - DataContractHistoryEntry, + GetDataContractHistoryResponseV0: { + DataContractHistory, + DataContractHistoryEntry, + }, }, }, } = require('@dashevo/dapi-grpc'); @@ -58,8 +60,8 @@ describe('getDataContractHistoryFactory', () => { dataContractHistoryEntryProto2, ]); + const { GetDataContractHistoryResponseV0 } = GetDataContractHistoryResponse; response = new GetDataContractHistoryResponse(); - response.setDataContractHistory(dataContractHistoryProto); metadataFixture = getMetadataFixture(); proofFixture = getProofFixture(); @@ -70,7 +72,11 @@ describe('getDataContractHistoryFactory', () => { metadata.setTimeMs(metadataFixture.timeMs); metadata.setProtocolVersion(metadataFixture.protocolVersion); - response.setMetadata(metadata); + response.setV0( + new GetDataContractHistoryResponseV0() + .setDataContractHistory(dataContractHistoryProto) + .setMetadata(metadata), + ); grpcTransportMock = { request: this.sinon.stub().resolves(response), @@ -94,12 +100,16 @@ describe('getDataContractHistoryFactory', () => { const contractId = dataContractFixture.getId().toBuffer(); const result = await getDataContractHistory(contractId, 0, 10, 0, options); + const { GetDataContractHistoryRequestV0 } = GetDataContractHistoryRequest; const request = new GetDataContractHistoryRequest(); - request.setId(contractId); - request.setLimit(new UInt32Value([10])); - request.setOffset(new UInt32Value([0])); - request.setStartAtMs(0); - request.setProve(false); + request.setV0( + new GetDataContractHistoryRequestV0() + .setId(contractId) + .setLimit(new UInt32Value([10])) + .setOffset(new UInt32Value([0])) + .setStartAtMs(0) + .setProve(false), + ); expect(grpcTransportMock.request.getCall(0).args).to.have.deep.members([ PlatformPromiseClient, @@ -118,18 +128,22 @@ describe('getDataContractHistoryFactory', () => { it('should return proof', async () => { options.prove = true; - response.setProof(proof); - response.setDataContractHistory(undefined); + response.getV0().setProof(proof); + response.getV0().setDataContractHistory(undefined); const contractId = dataContractFixture.getId().toBuffer(); const result = await getDataContractHistory(contractId, 0, 10, 0, options); + const { GetDataContractHistoryRequestV0 } = GetDataContractHistoryRequest; const request = new GetDataContractHistoryRequest(); - request.setId(contractId); - request.setLimit(new UInt32Value([10])); - request.setOffset(new UInt32Value([0])); - request.setStartAtMs(0); - request.setProve(true); + request.setV0( + new GetDataContractHistoryRequestV0() + .setId(contractId) + .setLimit(new UInt32Value([10])) + .setOffset(new UInt32Value([0])) + .setStartAtMs(0) + .setProve(true), + ); expect(grpcTransportMock.request.getCall(0).args).to.have.deep.members([ PlatformPromiseClient, @@ -157,12 +171,16 @@ describe('getDataContractHistoryFactory', () => { grpcTransportMock.request.throws(error); + const { GetDataContractHistoryRequestV0 } = GetDataContractHistoryRequest; const request = new GetDataContractHistoryRequest(); - request.setId(contractId.toBuffer()); - request.setLimit(new UInt32Value([10])); - request.setOffset(new UInt32Value([0])); - request.setStartAtMs(0); - request.setProve(false); + request.setV0( + new GetDataContractHistoryRequestV0() + .setId(contractId.toBuffer()) + .setLimit(new UInt32Value([10])) + .setOffset(new UInt32Value([0])) + .setStartAtMs(0) + .setProve(false), + ); try { await getDataContractHistory(contractId, 0, 10, 0, options); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js index 6114750e97..4aa187b0b8 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js @@ -27,21 +27,23 @@ describe('GetDocumentsResponse', () => { documentsFixture = await getDocumentsFixture(); proofFixture = getProofFixture(); - proto = new GetDocumentsResponse(); - serializedDocuments = documentsFixture .map((document) => Buffer.from(JSON.stringify(document))); - const documentsList = new GetDocumentsResponse.Documents(); - documentsList.setDocumentsList(serializedDocuments); - - proto.setDocuments(documentsList); + const { GetDocumentsResponseV0 } = GetDocumentsResponse; + proto = new GetDocumentsResponse(); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); - proto.setMetadata(metadata); + proto.setV0( + new GetDocumentsResponseV0() + .setDocuments( + new GetDocumentsResponseV0.Documents() + .setDocumentsList(serializedDocuments), + ).setMetadata(metadata), + ); getDocumentsResponse = new GetDocumentsResponseClass( serializedDocuments, @@ -97,7 +99,7 @@ describe('GetDocumentsResponse', () => { proofProto.setSignature(proofFixture.signature); proofProto.setGrovedbProof(proofFixture.merkleProof); - proto.setProof(proofProto); + proto.getV0().setProof(proofProto); getDocumentsResponse = GetDocumentsResponseClass.createFromProto(proto); @@ -119,7 +121,7 @@ describe('GetDocumentsResponse', () => { }); it('should throw InvalidResponseError if Metadata is not defined', () => { - proto.setMetadata(undefined); + proto.getV0().setMetadata(undefined); try { getDocumentsResponse = GetDocumentsResponseClass.createFromProto(proto); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js index f693d31389..07ebf9f2ac 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js @@ -61,11 +61,15 @@ describe('getDocumentsFactory', () => { metadata.setTimeMs(metadataFixture.timeMs); metadata.setProtocolVersion(metadataFixture.protocolVersion); + const { GetDocumentsResponseV0 } = GetDocumentsResponse; response = new GetDocumentsResponse(); - const documentsList = new GetDocumentsResponse.Documents(); - documentsList.setDocumentsList(serializedDocuments); - response.setDocuments(documentsList); - response.setMetadata(metadata); + response.setV0( + new GetDocumentsResponseV0() + .setDocuments( + new GetDocumentsResponseV0.Documents() + .setDocumentsList(serializedDocuments), + ).setMetadata(metadata), + ); grpcTransportMock = { request: this.sinon.stub().resolves(response), @@ -83,15 +87,20 @@ describe('getDocumentsFactory', () => { it('should return documents when contract id is buffer', async () => { const result = await getDocuments(contractIdBuffer, type, options); + const { GetDocumentsRequestV0 } = GetDocumentsRequest; const request = new GetDocumentsRequest(); - request.setDataContractId(contractIdBuffer); - request.setDocumentType(type); - request.setLimit(options.limit); - request.setWhere(cbor.encode(options.where)); - request.setOrderBy(cbor.encode(options.orderBy)); - request.setStartAfter(options.startAfter); - request.setStartAt(options.startAt); - request.setProve(false); + request.setV0( + new GetDocumentsRequestV0() + .setDataContractId(contractIdBuffer) + .setDocumentType(type) + .setLimit(options.limit) + .setWhere(cbor.encode(options.where)) + .setOrderBy(cbor.encode(options.orderBy)) + .setStartAfter(options.startAfter) + .setStartAt(options.startAt) + .setProve(false), + + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -106,19 +115,23 @@ describe('getDocumentsFactory', () => { it('should return proof', async () => { options.prove = true; - response.setProof(proofResponse); + response.getV0().setProof(proofResponse); const result = await getDocuments(contractIdBuffer, type, options); + const { GetDocumentsRequestV0 } = GetDocumentsRequest; const request = new GetDocumentsRequest(); - request.setDataContractId(contractIdBuffer); - request.setDocumentType(type); - request.setLimit(options.limit); - request.setWhere(cbor.encode(options.where)); - request.setOrderBy(cbor.encode(options.orderBy)); - request.setStartAfter(options.startAfter); - request.setStartAt(options.startAt); - request.setProve(true); + request.setV0( + new GetDocumentsRequestV0() + .setDataContractId(contractIdBuffer) + .setDocumentType(type) + .setLimit(options.limit) + .setWhere(cbor.encode(options.where)) + .setOrderBy(cbor.encode(options.orderBy)) + .setStartAfter(options.startAfter) + .setStartAt(options.startAt) + .setProve(true), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -146,15 +159,19 @@ describe('getDocumentsFactory', () => { it('should return documents when contract id is identifier', async () => { const result = await getDocuments(contractIdIdentifier, type, options); + const { GetDocumentsRequestV0 } = GetDocumentsRequest; const request = new GetDocumentsRequest(); - request.setDataContractId(contractIdBuffer); - request.setDocumentType(type); - request.setLimit(options.limit); - request.setWhere(cbor.encode(options.where)); - request.setOrderBy(cbor.encode(options.orderBy)); - request.setStartAfter(options.startAfter); - request.setStartAt(options.startAt); - request.setProve(false); + request.setV0( + new GetDocumentsRequestV0() + .setDataContractId(contractIdBuffer) + .setDocumentType(type) + .setLimit(options.limit) + .setWhere(cbor.encode(options.where)) + .setOrderBy(cbor.encode(options.orderBy)) + .setStartAfter(options.startAfter) + .setStartAt(options.startAt) + .setProve(false), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.spec.js index 7863b40859..b43a0e5686 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/GetIdentitiesByPublicKeyHashesResponse.spec.js @@ -1,3 +1,5 @@ +const { BytesValue } = require('google-protobuf/google/protobuf/wrappers_pb'); + const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); const { v0: { @@ -26,20 +28,30 @@ describe('GetIdentitiesByPublicKeyHashesResponse', () => { identityFixture = await getIdentityFixture(); proofFixture = getProofFixture(); + const { + IdentitiesByPublicKeyHashes, + PublicKeyHashIdentityEntry, + GetIdentitiesByPublicKeyHashesResponseV0, + } = GetIdentitiesByPublicKeyHashesResponse; + proto = new GetIdentitiesByPublicKeyHashesResponse(); - const identitiesList = new GetIdentitiesByPublicKeyHashesResponse.Identities(); - identitiesList.setIdentitiesList([identityFixture.toBuffer()]); - proto.setIdentities( - identitiesList, - ); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); metadata.setTimeMs(metadataFixture.timeMs); metadata.setProtocolVersion(metadataFixture.protocolVersion); - proto.setMetadata(metadata); + proto.setV0( + new GetIdentitiesByPublicKeyHashesResponseV0().setIdentities( + new IdentitiesByPublicKeyHashes() + .setIdentityEntriesList([ + new PublicKeyHashIdentityEntry() + .setPublicKeyHash(Buffer.alloc(20)) + .setValue(new BytesValue().setValue(identityFixture.toBuffer())), + ]), + ).setMetadata(metadata), + ); getIdentitiesResponse = new GetIdentitiesByPublicKeyHashesResponseClass( [identityFixture.toBuffer()], @@ -97,7 +109,7 @@ describe('GetIdentitiesByPublicKeyHashesResponse', () => { proofProto.setGrovedbProof(proofFixture.merkleProof); proofProto.setRound(proofFixture.round); - proto.setProof(proofProto); + proto.getV0().setProof(proofProto); getIdentitiesResponse = GetIdentitiesByPublicKeyHashesResponseClass.createFromProto(proto); expect(getIdentitiesResponse).to.be.an.instanceOf( @@ -119,7 +131,7 @@ describe('GetIdentitiesByPublicKeyHashesResponse', () => { }); it('should throw InvalidResponseError if Metadata is not defined', () => { - proto.setMetadata(undefined); + proto.getV0().setMetadata(undefined); try { getIdentitiesResponse = GetIdentitiesByPublicKeyHashesResponseClass.createFromProto(proto); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.spec.js index a3d50a9f0f..205e45583f 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory.spec.js @@ -1,3 +1,4 @@ +const { BytesValue } = require('google-protobuf/google/protobuf/wrappers_pb'); const { v0: { PlatformPromiseClient, @@ -39,13 +40,23 @@ describe('getIdentitiesByPublicKeyHashesFactory', () => { metadata.setTimeMs(metadataFixture.timeMs); metadata.setProtocolVersion(metadataFixture.protocolVersion); + const { + IdentitiesByPublicKeyHashes, + PublicKeyHashIdentityEntry, + GetIdentitiesByPublicKeyHashesResponseV0, + } = GetIdentitiesByPublicKeyHashesResponse; + response = new GetIdentitiesByPublicKeyHashesResponse(); - const identitiesList = new GetIdentitiesByPublicKeyHashesResponse.Identities(); - identitiesList.setIdentitiesList([identityFixture.toBuffer()]); - response.setIdentities( - identitiesList, + response.setV0( + new GetIdentitiesByPublicKeyHashesResponseV0().setIdentities( + new IdentitiesByPublicKeyHashes() + .setIdentityEntriesList([ + new PublicKeyHashIdentityEntry() + .setPublicKeyHash(publicKeyHash) + .setValue(new BytesValue().setValue(identityFixture.toBuffer())), + ]), + ).setMetadata(metadata), ); - response.setMetadata(metadata); proofResponse = new ProofResponse(); @@ -70,9 +81,13 @@ describe('getIdentitiesByPublicKeyHashesFactory', () => { it('should return public key hashes to identity map', async () => { const result = await getIdentitiesByPublicKeyHashes([publicKeyHash], options); + const { GetIdentitiesByPublicKeyHashesRequestV0 } = GetIdentitiesByPublicKeyHashesRequest; const request = new GetIdentitiesByPublicKeyHashesRequest(); - request.setPublicKeyHashesList([publicKeyHash]); - request.setProve(false); + request.setV0( + new GetIdentitiesByPublicKeyHashesRequestV0() + .setPublicKeyHashesList([publicKeyHash]) + .setProve(false), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -87,13 +102,17 @@ describe('getIdentitiesByPublicKeyHashesFactory', () => { it('should return proof', async () => { options.prove = true; - response.setProof(proofResponse); + response.getV0().setProof(proofResponse); const result = await getIdentitiesByPublicKeyHashes([publicKeyHash], options); + const { GetIdentitiesByPublicKeyHashesRequestV0 } = GetIdentitiesByPublicKeyHashesRequest; const request = new GetIdentitiesByPublicKeyHashesRequest(); - request.setPublicKeyHashesList([publicKeyHash]); - request.setProve(true); + request.setV0( + new GetIdentitiesByPublicKeyHashesRequestV0() + .setPublicKeyHashesList([publicKeyHash]) + .setProve(true), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -122,9 +141,13 @@ describe('getIdentitiesByPublicKeyHashesFactory', () => { grpcTransportMock.request.throws(error); + const { GetIdentitiesByPublicKeyHashesRequestV0 } = GetIdentitiesByPublicKeyHashesRequest; const request = new GetIdentitiesByPublicKeyHashesRequest(); - request.setPublicKeyHashesList([publicKeyHash]); - request.setProve(false); + request.setV0( + new GetIdentitiesByPublicKeyHashesRequestV0() + .setPublicKeyHashesList([publicKeyHash]) + .setProve(false), + ); try { await getIdentitiesByPublicKeyHashes([publicKeyHash], options); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/GetIdentityResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/GetIdentityResponse.spec.js index 33a2342065..9cc6050647 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/GetIdentityResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/GetIdentityResponse.spec.js @@ -26,8 +26,8 @@ describe('GetIdentityResponse', () => { identityFixture = await getIdentityFixture(); proofFixture = getProofFixture(); + const { GetIdentityResponseV0 } = GetIdentityResponse; proto = new GetIdentityResponse(); - proto.setIdentity(identityFixture.toBuffer()); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); @@ -35,7 +35,12 @@ describe('GetIdentityResponse', () => { metadata.setTimeMs(metadataFixture.timeMs); metadata.setProtocolVersion(metadataFixture.protocolVersion); - proto.setMetadata(metadata); + proto.setV0( + new GetIdentityResponseV0() + .setIdentity(identityFixture.toBuffer()) + .setMetadata(metadata), + + ); getIdentityResponse = new GetIdentityResponseClass( identityFixture.toBuffer(), @@ -92,8 +97,8 @@ describe('GetIdentityResponse', () => { proofProto.setGrovedbProof(proofFixture.merkleProof); proofProto.setRound(proofFixture.round); - proto.setIdentity(undefined); - proto.setProof(proofProto); + proto.getV0().setIdentity(undefined); + proto.getV0().setProof(proofProto); getIdentityResponse = GetIdentityResponseClass.createFromProto(proto); @@ -109,7 +114,7 @@ describe('GetIdentityResponse', () => { }); it('should throw InvalidResponseError if Metadata is not defined', () => { - proto.setMetadata(undefined); + proto.getV0().setMetadata(undefined); try { getIdentityResponse = GetIdentityResponseClass.createFromProto(proto); @@ -121,7 +126,7 @@ describe('GetIdentityResponse', () => { }); it('should throw InvalidResponseError if Identity is not defined', () => { - proto.setIdentity(undefined); + proto.getV0().setIdentity(undefined); try { getIdentityResponse = GetIdentityResponseClass.createFromProto(proto); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/getIdentityFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/getIdentityFactory.spec.js index 16a2c9d1e5..1827125c59 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/getIdentityFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiy/getIdentityFactory.spec.js @@ -39,9 +39,13 @@ describe('getIdentityFactory', () => { metadata.setTimeMs(metadataFixture.timeMs); metadata.setProtocolVersion(metadataFixture.protocolVersion); + const { GetIdentityResponseV0 } = GetIdentityResponse; response = new GetIdentityResponse(); - response.setIdentity(identityFixture.toBuffer()); - response.setMetadata(metadata); + response.setV0( + new GetIdentityResponseV0() + .setIdentity(identityFixture.toBuffer()) + .setMetadata(metadata), + ); proofResponse = new ProofResponse(); @@ -64,9 +68,13 @@ describe('getIdentityFactory', () => { it('should return identity', async () => { const result = await getIdentity(identityId, options); + const { GetIdentityRequestV0 } = GetIdentityRequest; const request = new GetIdentityRequest(); - request.setId(identityId.toBuffer()); - request.setProve(false); + request.setV0( + new GetIdentityRequestV0() + .setId(identityId.toBuffer()) + .setProve(false), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -81,14 +89,18 @@ describe('getIdentityFactory', () => { it('should return proof', async () => { options.prove = true; - response.setIdentity(undefined); - response.setProof(proofResponse); + response.getV0().setIdentity(undefined); + response.getV0().setProof(proofResponse); const result = await getIdentity(identityId, options); + const { GetIdentityRequestV0 } = GetIdentityRequest; const request = new GetIdentityRequest(); - request.setId(identityId.toBuffer()); - request.setProve(true); + request.setV0( + new GetIdentityRequestV0() + .setId(identityId.toBuffer()) + .setProve(true), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -118,9 +130,13 @@ describe('getIdentityFactory', () => { grpcTransportMock.request.throws(error); + const { GetIdentityRequestV0 } = GetIdentityRequest; const request = new GetIdentityRequest(); - request.setId(identityId.toBuffer()); - request.setProve(false); + request.setV0( + new GetIdentityRequestV0() + .setId(identityId.toBuffer()) + .setProve(false), + ); try { await getIdentity(identityId, options); diff --git a/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js index cb9067ff81..3f58dfbd7b 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js @@ -32,7 +32,10 @@ describe('waitForStateTransitionResultFactory', () => { metadata.setProtocolVersion(metadataFixture.protocolVersion); response = new WaitForStateTransitionResultResponse(); - response.setMetadata(metadata); + response.setV0( + new WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0() + .setMetadata(metadata), + ); grpcTransportMock = { request: this.sinon.stub().resolves(response), @@ -56,9 +59,13 @@ describe('waitForStateTransitionResultFactory', () => { expect(result.getError()).to.equal(undefined); expect(result.getProof()).to.equal(undefined); + const { WaitForStateTransitionResultRequestV0 } = WaitForStateTransitionResultRequest; const request = new WaitForStateTransitionResultRequest(); - request.setStateTransitionHash(hash); - request.setProve(false); + request.setV0( + new WaitForStateTransitionResultRequestV0() + .setStateTransitionHash(hash) + .setProve(false), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -76,7 +83,7 @@ describe('waitForStateTransitionResultFactory', () => { proof.setSignature(Buffer.from('signature')); proof.setRound(42); - response.setProof(proof); + response.getV0().setProof(proof); options.prove = true; @@ -95,9 +102,13 @@ describe('waitForStateTransitionResultFactory', () => { expect(result.getProof().getQuorumHash()).to.deep.equal(Buffer.from('quorumHash')); expect(result.getProof().getRound()).to.deep.equal(42); + const { WaitForStateTransitionResultRequestV0 } = WaitForStateTransitionResultRequest; const request = new WaitForStateTransitionResultRequest(); - request.setStateTransitionHash(hash); - request.setProve(true); + request.setV0( + new WaitForStateTransitionResultRequestV0() + .setStateTransitionHash(hash) + .setProve(true), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, @@ -113,7 +124,7 @@ describe('waitForStateTransitionResultFactory', () => { error.setMessage('Some error'); error.setData(cbor.encode({ data: 'error data' })); - response.setError(error); + response.getV0().setError(error); options.prove = true; @@ -127,9 +138,13 @@ describe('waitForStateTransitionResultFactory', () => { data: { data: 'error data' }, }); + const { WaitForStateTransitionResultRequestV0 } = WaitForStateTransitionResultRequest; const request = new WaitForStateTransitionResultRequest(); - request.setStateTransitionHash(hash); - request.setProve(true); + request.setV0( + new WaitForStateTransitionResultRequestV0() + .setStateTransitionHash(hash) + .setProve(true), + ); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( PlatformPromiseClient, diff --git a/packages/js-dash-sdk/src/SDK/Client/Platform/Fetcher/Fetcher.ts b/packages/js-dash-sdk/src/SDK/Client/Platform/Fetcher/Fetcher.ts index 1ec345812c..039afc1491 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Platform/Fetcher/Fetcher.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Platform/Fetcher/Fetcher.ts @@ -1,6 +1,7 @@ import DAPIClient from '@dashevo/dapi-client'; import { Identifier } from '@dashevo/wasm-dpp/dist'; -import { GetDataContractResponse, GetIdentityResponse } from '@dashevo/dapi-grpc/clients/platform/v0/web/platform_pb'; +import { GetDataContractResponse } from '@dashevo/dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse'; +import { GetIdentityResponse } from '@dashevo/dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse'; import NotFoundError from '@dashevo/dapi-client/lib/transport/GrpcTransport/errors/NotFoundError'; import { GetDocumentsResponse } from '@dashevo/dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse'; diff --git a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/contracts/get.ts b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/contracts/get.ts index 9e66b10432..651718523c 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/contracts/get.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/contracts/get.ts @@ -1,5 +1,5 @@ import { Identifier, Metadata } from '@dashevo/wasm-dpp'; -import { GetDataContractResponse } from '@dashevo/dapi-grpc/clients/platform/v0/web/platform_pb'; +import { GetDataContractResponse } from '@dashevo/dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse'; import { Platform } from '../../Platform'; const NotFoundError = require('@dashevo/dapi-client/lib/transport/GrpcTransport/errors/NotFoundError'); diff --git a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/get.ts b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/get.ts index 147b8da913..7824f5f5bb 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/get.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/get.ts @@ -1,5 +1,5 @@ import { Identifier, Metadata } from '@dashevo/wasm-dpp'; -import { GetIdentityResponse } from '@dashevo/dapi-grpc/clients/platform/v0/web/platform_pb'; +import { GetIdentityResponse } from '@dashevo/dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse'; import { Platform } from '../../Platform'; const NotFoundError = require('@dashevo/dapi-client/lib/transport/GrpcTransport/errors/NotFoundError'); diff --git a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/names/register.ts b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/names/register.ts index f321ba64ef..211dd48458 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/names/register.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/names/register.ts @@ -48,8 +48,6 @@ export async function register(this: Platform, const [label] = nameLabels; const normalizedLabel = convertToHomographSafeChars(label); - console.log('Label', label, 'normalized', normalizedLabel); - const preorderSalt = crypto.randomBytes(32); const isSecondLevelDomain = normalizedParentDomainName.length > 0; diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index 2ce5b7581b..58b0a4b100 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -79,6 +79,7 @@ tokio = { version = "1", features = [ ] } tokio-util = { version = "0.7.8" } derive_more = "0.99.17" +paste = "1.0.14" [dev-dependencies] base64 = "0.20.0" diff --git a/packages/rs-drive-abci/src/error/query.rs b/packages/rs-drive-abci/src/error/query.rs index b3331800e2..5cff82e1be 100644 --- a/packages/rs-drive-abci/src/error/query.rs +++ b/packages/rs-drive-abci/src/error/query.rs @@ -1,4 +1,6 @@ use dpp::platform_value::Error as ValueError; +use dpp::util::deserializer::ProtocolVersion; +use dpp::version::FeatureVersion; use dpp::ProtocolError; use drive::error::proof::ProofError; use drive::error::query::QuerySyntaxError as SyntaxError; @@ -41,6 +43,20 @@ pub enum QueryError { /// Not found Error #[error("not found error: {0}")] NotFound(String), + + /// Decoding Error + #[error("decoding error: {0}")] + DecodingError(String), + + /// Not found Error + #[error("unsupported version for query: {0}, currently supporting versions {1} to {2} on platform protocol {3}, given {4}")] + UnsupportedQueryVersion( + String, + FeatureVersion, + FeatureVersion, + ProtocolVersion, + FeatureVersion, + ), } impl From for ResponseException { diff --git a/packages/rs-drive-abci/src/main.rs b/packages/rs-drive-abci/src/main.rs index 447c0df42c..b395fbbbaa 100644 --- a/packages/rs-drive-abci/src/main.rs +++ b/packages/rs-drive-abci/src/main.rs @@ -361,8 +361,8 @@ mod test { use dpp::block::epoch::Epoch; use drive::fee_pools::epochs::epoch_key_constants; + use dpp::version::PlatformVersion; use drive_abci::logging::LogLevel; - use platform_version::version::PlatformVersion; use rocksdb::{IteratorMode, Options}; /// Setup drive database by creating initial state structure and inserting some data. diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/mod.rs new file mode 100644 index 0000000000..7573974aee --- /dev/null +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/mod.rs @@ -0,0 +1,60 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_data_contract_request::Version; +use dapi_grpc::platform::v0::GetDataContractRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of a data contract + pub(in crate::query) fn query_data_contract( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetDataContractRequest { version } = + check_validation_result_with_data!(GetDataContractRequest::decode(query_data).map_err( + |e| QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode data contract query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .data_contract_based_queries + .data_contract; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "data_contract".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_data_contract_request) => { + self.query_data_contract_v0(state, get_data_contract_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs new file mode 100644 index 0000000000..ab9cb627f2 --- /dev/null +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract/v0/mod.rs @@ -0,0 +1,84 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_data_contract_request::GetDataContractRequestV0; +use dapi_grpc::platform::v0::get_data_contract_response::GetDataContractResponseV0; +use dapi_grpc::platform::v0::{get_data_contract_response, GetDataContractResponse, Proof}; +use dpp::check_validation_result_with_data; +use dpp::identifier::Identifier; +use dpp::serialization::PlatformSerializableWithPlatformVersion; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + pub(super) fn query_data_contract_v0( + &self, + state: &PlatformState, + request: GetDataContractRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetDataContractRequestV0 { id, prove } = request; + let contract_id: Identifier = + check_validation_result_with_data!(id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })); + let response_data = if prove { + let proof = + self.drive + .prove_contract(contract_id.into_buffer(), None, platform_version)?; + + GetDataContractResponse { + version: Some(get_data_contract_response::Version::V0(GetDataContractResponseV0 { + result: Some(get_data_contract_response::get_data_contract_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let maybe_data_contract_fetch_info = self + .drive + .fetch_contract( + contract_id.into_buffer(), + None, + None, + None, + platform_version, + ) + .unwrap()?; + + let data_contract_fetch_info = + check_validation_result_with_data!(maybe_data_contract_fetch_info.ok_or_else( + || { QueryError::NotFound(format!("data contract {} not found", contract_id)) } + )); + + let serialized_data_contract = data_contract_fetch_info + .contract + .serialize_to_bytes_with_platform_version(platform_version) + .map_err(Error::Protocol)?; + + GetDataContractResponse { + version: Some(get_data_contract_response::Version::V0(GetDataContractResponseV0 { + result: Some(get_data_contract_response::get_data_contract_response_v0::Result::DataContract(serialized_data_contract)), + metadata: Some(metadata), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/mod.rs new file mode 100644 index 0000000000..82d09027b1 --- /dev/null +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/mod.rs @@ -0,0 +1,66 @@ +use crate::error::execution::ExecutionError; +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_data_contract_history_request::Version; +use dapi_grpc::platform::v0::{GetDataContractHistoryRequest, GetDataContractRequest}; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::FeatureVersion; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of a data contract history + pub(in crate::query) fn query_data_contract_history( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetDataContractHistoryRequest { version } = + check_validation_result_with_data!(GetDataContractHistoryRequest::decode(query_data) + .map_err(|e| QueryError::InvalidArgument(format!( + "invalid query proto message: {}", + e + )))); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode data contract query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .data_contract_based_queries + .data_contract_history; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "data_contract_history".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_data_contract_history_request) => self.query_data_contract_history_v0( + state, + get_data_contract_history_request, + platform_version, + ), + } + } +} diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs new file mode 100644 index 0000000000..fad0100be9 --- /dev/null +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contract_history/v0/mod.rs @@ -0,0 +1,120 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_data_contract_history_request::GetDataContractHistoryRequestV0; +use dapi_grpc::platform::v0::get_data_contract_history_response::GetDataContractHistoryResponseV0; +use dapi_grpc::platform::v0::{ + get_data_contract_history_response, GetDataContractHistoryResponse, Proof, +}; +use dpp::identifier::Identifier; +use dpp::serialization::PlatformSerializableWithPlatformVersion; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use dpp::{check_validation_result_with_data, ProtocolError}; +use prost::Message; +use dapi_grpc::platform::v0::get_data_contract_history_response::get_data_contract_history_response_v0::DataContractHistoryEntry; + +impl Platform { + pub(super) fn query_data_contract_history_v0( + &self, + state: &PlatformState, + request: GetDataContractHistoryRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetDataContractHistoryRequestV0 { + id, + limit, + offset, + start_at_ms, + prove, + } = request; + let contract_id: Identifier = + check_validation_result_with_data!(id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })); + + let limit = check_validation_result_with_data!(limit + .map(|limit| { + u16::try_from(limit) + .map_err(|_| QueryError::InvalidArgument("limit out of bounds".to_string())) + }) + .transpose()); + let offset = check_validation_result_with_data!(offset + .map(|offset| { + u16::try_from(offset) + .map_err(|_| QueryError::InvalidArgument("offset out of bounds".to_string())) + }) + .transpose()); + + let response_data = if prove { + let proof = self.drive.prove_contract_history( + contract_id.to_buffer(), + None, + start_at_ms, + limit, + offset, + platform_version, + )?; + GetDataContractHistoryResponse { + version: Some(get_data_contract_history_response::Version::V0(GetDataContractHistoryResponseV0 { + result: Some(get_data_contract_history_response::get_data_contract_history_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let contracts = self.drive.fetch_contract_with_history( + contract_id.to_buffer(), + None, + start_at_ms, + limit, + offset, + platform_version, + )?; + + if contracts.is_empty() { + return Ok(QueryValidationResult::new_with_error(QueryError::NotFound( + format!("data contract {} history not found", contract_id), + ))); + } + + let contract_historical_entries: Vec = contracts + .into_iter() + .map(|(date_in_seconds, data_contract)| { + Ok::(DataContractHistoryEntry { + date: date_in_seconds, + value: data_contract + .serialize_to_bytes_with_platform_version(platform_version)?, + }) + }) + .collect::, ProtocolError>>()?; + + GetDataContractHistoryResponse { + version: Some(get_data_contract_history_response::Version::V0(GetDataContractHistoryResponseV0 { + result: Some(get_data_contract_history_response::get_data_contract_history_response_v0::Result::DataContractHistory( + get_data_contract_history_response::get_data_contract_history_response_v0::DataContractHistory { + data_contract_entries: contract_historical_entries, + } + )), + metadata: Some(metadata), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/mod.rs new file mode 100644 index 0000000000..e38af0ac8c --- /dev/null +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/mod.rs @@ -0,0 +1,62 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_data_contracts_request::Version; +use dapi_grpc::platform::v0::GetDataContractsRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of data contracts + pub(in crate::query) fn query_data_contracts( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetDataContractsRequest { version } = + check_validation_result_with_data!(GetDataContractsRequest::decode(query_data) + .map_err(|e| QueryError::InvalidArgument(format!( + "invalid query proto message: {}", + e + )))); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode data contracts query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .data_contract_based_queries + .data_contracts; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "data_contracts".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_data_contracts_request) => { + self.query_data_contracts_v0(state, get_data_contracts_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs new file mode 100644 index 0000000000..b5f3e7f78e --- /dev/null +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/data_contracts/v0/mod.rs @@ -0,0 +1,93 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_data_contracts_request::GetDataContractsRequestV0; +use dapi_grpc::platform::v0::get_data_contracts_response::DataContractEntry; +use dapi_grpc::platform::v0::get_data_contracts_response::GetDataContractsResponseV0; +use dapi_grpc::platform::v0::{get_data_contracts_response, GetDataContractsResponse, Proof}; +use dpp::platform_value::Bytes32; +use dpp::serialization::PlatformSerializableWithPlatformVersion; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use dpp::{check_validation_result_with_data, ProtocolError}; +use prost::Message; + +impl Platform { + pub(super) fn query_data_contracts_v0( + &self, + state: &PlatformState, + request: GetDataContractsRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetDataContractsRequestV0 { ids, prove } = request; + let contract_ids = check_validation_result_with_data!(ids + .into_iter() + .map(|contract_id_vec| { + Bytes32::from_vec(contract_id_vec) + .map(|bytes| bytes.0) + .map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + }) + }) + .collect::, QueryError>>()); + let response_data = if prove { + let proof = + self.drive + .prove_contracts(contract_ids.as_slice(), None, platform_version)?; + GetDataContractsResponse { + version: Some(get_data_contracts_response::Version::V0(GetDataContractsResponseV0 { + result: Some(get_data_contracts_response::get_data_contracts_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let contracts = self.drive.get_contracts_with_fetch_info( + contract_ids.as_slice(), + false, + None, + platform_version, + )?; + + let contracts = contracts + .into_iter() + .map(|(key, maybe_contract)| { + Ok::(DataContractEntry { + identifier: key.to_vec(), + data_contract: maybe_contract + .map(|contract| { + contract + .contract + .serialize_to_bytes_with_platform_version(platform_version) + }) + .transpose()?, + }) + }) + .collect::, ProtocolError>>()?; + + GetDataContractsResponse { + version: Some(get_data_contracts_response::Version::V0(GetDataContractsResponseV0 { + result: Some(get_data_contracts_response::get_data_contracts_response_v0::Result::DataContracts(get_data_contracts_response::DataContracts { data_contract_entries: contracts } + )), + metadata: Some(metadata), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/data_contract_based_queries/mod.rs b/packages/rs-drive-abci/src/query/data_contract_based_queries/mod.rs new file mode 100644 index 0000000000..9fbda095cb --- /dev/null +++ b/packages/rs-drive-abci/src/query/data_contract_based_queries/mod.rs @@ -0,0 +1,3 @@ +mod data_contract; +mod data_contract_history; +mod data_contracts; diff --git a/packages/rs-drive-abci/src/query/document_query/mod.rs b/packages/rs-drive-abci/src/query/document_query/mod.rs new file mode 100644 index 0000000000..c2b6270324 --- /dev/null +++ b/packages/rs-drive-abci/src/query/document_query/mod.rs @@ -0,0 +1,58 @@ +use crate::error::execution::ExecutionError; +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_documents_request::Version; +use dapi_grpc::platform::v0::GetDocumentsRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::FeatureVersion; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of documents + pub(in crate::query) fn query_documents( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetDocumentsRequest { version } = + check_validation_result_with_data!(GetDocumentsRequest::decode(query_data).map_err( + |e| QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode data contracts query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version.drive_abci.query.document_query; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "data_contracts".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_documents_request) => { + self.query_documents_v0(state, get_documents_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/document_query/v0/mod.rs b/packages/rs-drive-abci/src/query/document_query/v0/mod.rs new file mode 100644 index 0000000000..02c7747a24 --- /dev/null +++ b/packages/rs-drive-abci/src/query/document_query/v0/mod.rs @@ -0,0 +1,199 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_documents_request::get_documents_request_v0::Start; +use dapi_grpc::platform::v0::get_documents_request::GetDocumentsRequestV0; +use dapi_grpc::platform::v0::get_documents_response::GetDocumentsResponseV0; +use dapi_grpc::platform::v0::{ + get_documents_response, GetDocumentsRequest, GetDocumentsResponse, Proof, +}; +use dpp::check_validation_result_with_data; +use dpp::data_contract::accessors::v0::DataContractV0Getters; +use dpp::identifier::Identifier; +use dpp::platform_value::Value; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use drive::error::query::QuerySyntaxError; +use drive::query::DriveQuery; +use prost::Message; + +impl Platform { + pub(super) fn query_documents_v0( + &self, + state: &PlatformState, + request: GetDocumentsRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetDocumentsRequestV0 { + data_contract_id, + document_type: document_type_name, + r#where, + order_by, + limit, + prove, + start, + } = request; + let contract_id: Identifier = check_validation_result_with_data!(data_contract_id + .try_into() + .map_err(|_| QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string() + ))); + let (_, contract) = self.drive.get_contract_with_fetch_info_and_fee( + contract_id.to_buffer(), + None, + true, + None, + platform_version, + )?; + let contract = check_validation_result_with_data!(contract.ok_or(QueryError::Query( + QuerySyntaxError::DataContractNotFound( + "contract not found when querying from value with contract info", + ) + ))); + let contract_ref = &contract.contract; + let document_type = check_validation_result_with_data!(contract_ref + .document_type_for_name(document_type_name.as_str()) + .map_err(|_| QueryError::InvalidArgument(format!( + "document type {} not found for contract {}", + document_type_name, contract_id + )))); + + let where_clause = if r#where.is_empty() { + Value::Null + } else { + check_validation_result_with_data!(ciborium::de::from_reader(r#where.as_slice()) + .map_err(|_| { + QueryError::Query(QuerySyntaxError::DeserializationError( + "unable to decode 'where' query from cbor".to_string(), + )) + })) + }; + + let order_by = if !order_by.is_empty() { + check_validation_result_with_data!(ciborium::de::from_reader(order_by.as_slice()) + .map_err(|_| { + QueryError::Query(QuerySyntaxError::DeserializationError( + "unable to decode 'order_by' query from cbor".to_string(), + )) + })) + } else { + None + }; + + let (start_at_included, start_at) = if let Some(start) = start { + match start { + Start::StartAfter(after) => ( + false, + Some(check_validation_result_with_data!(after + .try_into() + .map_err(|_| QueryError::Query( + QuerySyntaxError::InvalidStartsWithClause( + "start after should be a 32 byte identifier", + ) + )))), + ), + Start::StartAt(at) => ( + true, + Some(check_validation_result_with_data!(at.try_into().map_err( + |_| QueryError::Query(QuerySyntaxError::InvalidStartsWithClause( + "start at should be a 32 byte identifier", + )) + ))), + ), + } + } else { + (true, None) + }; + + if limit > u16::MAX as u32 { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + QuerySyntaxError::InvalidLimit(format!("limit {} out of bounds", limit)), + ))); + } + + let drive_query = check_validation_result_with_data!(DriveQuery::from_decomposed_values( + where_clause, + order_by, + Some(if limit == 0 { + self.config.drive.default_query_limit + } else { + limit as u16 + }), + start_at, + start_at_included, + None, + contract_ref, + document_type, + &self.config.drive, + )); + let response_data = if prove { + let proof = + match drive_query.execute_with_proof(&self.drive, None, None, platform_version) { + Ok(result) => result.0, + Err(drive::error::Error::Query(query_error)) => { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + query_error, + ))); + } + Err(e) => return Err(e.into()), + }; + GetDocumentsResponse { + version: Some(get_documents_response::Version::V0( + GetDocumentsResponseV0 { + result: Some( + get_documents_response::get_documents_response_v0::Result::Proof( + Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + } else { + let results = match drive_query.execute_raw_results_no_proof( + &self.drive, + None, + None, + platform_version, + ) { + Ok(result) => result.0, + Err(drive::error::Error::Query(query_error)) => { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + query_error, + ))); + } + Err(e) => return Err(e.into()), + }; + + GetDocumentsResponse { + version: Some(get_documents_response::Version::V0( + GetDocumentsResponseV0 { + result: Some( + get_documents_response::get_documents_response_v0::Result::Documents( + get_documents_response::get_documents_response_v0::Documents { + documents: results, + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balance/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balance/mod.rs new file mode 100644 index 0000000000..6ed590f368 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balance/mod.rs @@ -0,0 +1,60 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_request::Version; +use dapi_grpc::platform::v0::GetIdentityRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of an identity by a public key hash + pub(in crate::query) fn query_balance( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetIdentityRequest { version } = + check_validation_result_with_data!(GetIdentityRequest::decode(query_data).map_err( + |e| QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identity balance query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .balance; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "balance".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_request) => { + self.query_balance_v0(state, get_identity_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs new file mode 100644 index 0000000000..8865f6c46a --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balance/v0/mod.rs @@ -0,0 +1,76 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_balance_response::GetIdentityBalanceResponseV0; +use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; +use dapi_grpc::platform::v0::{get_identity_balance_response, GetIdentityBalanceResponse, Proof}; +use dpp::check_validation_result_with_data; +use dpp::identifier::Identifier; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + pub(super) fn query_balance_v0( + &self, + state: &PlatformState, + get_identity_request: GetIdentityRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetIdentityRequestV0 { id, prove } = get_identity_request; + let identity_id: Identifier = + check_validation_result_with_data!(id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })); + let response_data = if prove { + let proof = check_validation_result_with_data!(self.drive.prove_identity_balance( + identity_id.into_buffer(), + None, + &platform_version.drive + )); + + GetIdentityBalanceResponse { + version: Some(get_identity_balance_response::Version::V0(GetIdentityBalanceResponseV0 { + result: Some(get_identity_balance_response::get_identity_balance_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let maybe_balance = self.drive.fetch_identity_balance( + identity_id.into_buffer(), + None, + platform_version, + )?; + + let Some(balance) = maybe_balance else { + return Ok(ValidationResult::new_with_error(QueryError::NotFound( + "No Identity found".to_string(), + ))); + }; + + GetIdentityBalanceResponse { + version: Some(get_identity_balance_response::Version::V0(GetIdentityBalanceResponseV0 { + result: Some(get_identity_balance_response::get_identity_balance_response_v0::Result::Balance(balance)), + metadata: Some(metadata), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/mod.rs new file mode 100644 index 0000000000..2f82f7b6e2 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/mod.rs @@ -0,0 +1,62 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_request::Version; +use dapi_grpc::platform::v0::GetIdentityRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of an identity by a public key hash + pub(in crate::query) fn query_balance_and_revision( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetIdentityRequest { version } = + check_validation_result_with_data!(GetIdentityRequest::decode(query_data).map_err( + |e| QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError( + "could not decode identity balance and revision query".to_string(), + ), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .balance_and_revision; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "balance_and_revision".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_request) => { + self.query_balance_and_revision_v0(state, get_identity_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs new file mode 100644 index 0000000000..20b851ed4d --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/balance_and_revision/v0/mod.rs @@ -0,0 +1,97 @@ +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryError; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_balance_and_revision_response::{GetIdentityBalanceAndRevisionResponseV0}; +use dapi_grpc::platform::v0::{ + get_identity_balance_and_revision_response, + GetIdentityBalanceAndRevisionResponse, Proof, +}; +use dpp::check_validation_result_with_data; +use dpp::identifier::Identifier; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; +use dapi_grpc::platform::v0::get_identity_balance_and_revision_response::get_identity_balance_and_revision_response_v0::BalanceAndRevision; +use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; + +impl Platform { + pub(super) fn query_balance_and_revision_v0( + &self, + state: &PlatformState, + get_identity_request: GetIdentityRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetIdentityRequestV0 { id, prove } = get_identity_request; + let identity_id: Identifier = + check_validation_result_with_data!(id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })); + let response_data = if prove { + let proof = self.drive.prove_identity_balance_and_revision( + identity_id.into_buffer(), + None, + &platform_version.drive, + )?; + + GetIdentityBalanceAndRevisionResponse { + version: Some(get_identity_balance_and_revision_response::Version::V0(GetIdentityBalanceAndRevisionResponseV0 { + result: Some(get_identity_balance_and_revision_response::get_identity_balance_and_revision_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let maybe_balance = self.drive.fetch_identity_balance( + identity_id.into_buffer(), + None, + platform_version, + )?; + + let Some(balance) = maybe_balance else { + return Ok(ValidationResult::new_with_error(QueryError::NotFound( + "No Identity balance found".to_string(), + ))); + }; + + let maybe_revision = self.drive.fetch_identity_revision( + identity_id.into_buffer(), + true, + None, + platform_version, + )?; + + let Some(revision) = maybe_revision else { + return Ok(ValidationResult::new_with_error(QueryError::NotFound( + "No Identity revision found".to_string(), + ))); + }; + + GetIdentityBalanceAndRevisionResponse { + version: Some(get_identity_balance_and_revision_response::Version::V0(GetIdentityBalanceAndRevisionResponseV0 { + result: Some( + get_identity_balance_and_revision_response::get_identity_balance_and_revision_response_v0::Result::BalanceAndRevision( + BalanceAndRevision { balance, revision }, + ), + ), + metadata: Some(metadata), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identities/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identities/mod.rs new file mode 100644 index 0000000000..9577c9986e --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identities/mod.rs @@ -0,0 +1,60 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identities_request::Version; +use dapi_grpc::platform::v0::GetIdentitiesRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of an identity by a public key hash + pub(in crate::query) fn query_identities( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetIdentitiesRequest { version } = + check_validation_result_with_data!(GetIdentitiesRequest::decode(query_data).map_err( + |e| QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identities query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .identities; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "identities".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_request) => { + self.query_identities_v0(state, get_identity_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identities/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identities/v0/mod.rs new file mode 100644 index 0000000000..d585053f71 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identities/v0/mod.rs @@ -0,0 +1,109 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identities_request::GetIdentitiesRequestV0; +use dapi_grpc::platform::v0::get_identities_response::{GetIdentitiesResponseV0, IdentityEntry}; +use dapi_grpc::platform::v0::{get_identities_response, GetIdentitiesResponse, Proof}; +use dpp::platform_value::Bytes32; +use dpp::serialization::PlatformSerializable; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use dpp::{check_validation_result_with_data, ProtocolError}; +use prost::Message; + +impl Platform { + pub(super) fn query_identities_v0( + &self, + state: &PlatformState, + get_identities_request: GetIdentitiesRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetIdentitiesRequestV0 { ids, prove } = get_identities_request; + let identity_ids = check_validation_result_with_data!(ids + .into_iter() + .map(|identity_id_vec| { + Bytes32::from_vec(identity_id_vec) + .map(|bytes| bytes.0) + .map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + }) + }) + .collect::, QueryError>>()); + let response_data = if prove { + let proof = self.drive.prove_full_identities( + identity_ids.as_slice(), + None, + &platform_version.drive, + )?; + + GetIdentitiesResponse { + version: Some(get_identities_response::Version::V0( + GetIdentitiesResponseV0 { + result: Some( + get_identities_response::get_identities_response_v0::Result::Proof( + Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + } else { + let identities = self.drive.fetch_full_identities( + identity_ids.as_slice(), + None, + platform_version, + )?; + + let identities = identities + .into_iter() + .map(|(key, maybe_identity)| { + Ok::(IdentityEntry { + key: key.to_vec(), + value: maybe_identity + .map(|identity| { + Ok::( + get_identities_response::IdentityValue { + value: identity.serialize_consume_to_bytes()?, + }, + ) + }) + .transpose()?, + }) + }) + .collect::, ProtocolError>>()?; + + GetIdentitiesResponse { + version: Some(get_identities_response::Version::V0( + GetIdentitiesResponseV0 { + result: Some( + get_identities_response::get_identities_response_v0::Result::Identities( + get_identities_response::Identities { + identity_entries: identities, + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/mod.rs new file mode 100644 index 0000000000..c28a84220c --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/mod.rs @@ -0,0 +1,65 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identities_by_public_key_hashes_request::Version; +use dapi_grpc::platform::v0::GetIdentitiesByPublicKeyHashesRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of an identity by a public key hash + pub(in crate::query) fn query_identities_by_public_key_hashes( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetIdentitiesByPublicKeyHashesRequest { version } = check_validation_result_with_data!( + GetIdentitiesByPublicKeyHashesRequest::decode(query_data).map_err(|e| { + QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + }) + ); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError( + "could not decode identities by public key hashes query".to_string(), + ), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .identities_by_public_key_hashes; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "identities_by_public_key_hashes".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_request) => self.query_identities_by_public_key_hashes_v0( + state, + get_identity_request, + platform_version, + ), + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/v0/mod.rs new file mode 100644 index 0000000000..7235e4adbe --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identities_by_public_key_hashes/v0/mod.rs @@ -0,0 +1,103 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identities_by_public_key_hashes_request::GetIdentitiesByPublicKeyHashesRequestV0; +use dapi_grpc::platform::v0::get_identities_by_public_key_hashes_response::{ + GetIdentitiesByPublicKeyHashesResponseV0, PublicKeyHashIdentityEntry, +}; +use dapi_grpc::platform::v0::{ + get_identities_by_public_key_hashes_response, GetIdentitiesByPublicKeyHashesResponse, Proof, +}; +use dpp::platform_value::Bytes20; +use dpp::serialization::PlatformSerializable; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use dpp::{check_validation_result_with_data, ProtocolError}; +use prost::Message; + +impl Platform { + pub(super) fn query_identities_by_public_key_hashes_v0( + &self, + state: &PlatformState, + get_identities_by_public_key_hashes_request: GetIdentitiesByPublicKeyHashesRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetIdentitiesByPublicKeyHashesRequestV0 { + public_key_hashes, + prove, + } = get_identities_by_public_key_hashes_request; + let public_key_hashes = check_validation_result_with_data!(public_key_hashes + .into_iter() + .map(|pub_key_hash_vec| { + Bytes20::from_vec(pub_key_hash_vec) + .map(|bytes| bytes.0) + .map_err(|_| { + QueryError::InvalidArgument( + "public key hash must be 20 bytes long".to_string(), + ) + }) + }) + .collect::, QueryError>>()); + let response_data = if prove { + let proof = self + .drive + .prove_full_identities_by_unique_public_key_hashes( + &public_key_hashes, + None, + platform_version, + )?; + + GetIdentitiesByPublicKeyHashesResponse { + version: Some(get_identities_by_public_key_hashes_response::Version::V0(GetIdentitiesByPublicKeyHashesResponseV0 { + result: Some(get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let identities = self + .drive + .fetch_full_identities_by_unique_public_key_hashes( + public_key_hashes.as_slice(), + None, + platform_version, + )?; + let identities = identities + .into_iter() + .map(|(hash, maybe_identity)| { + Ok(PublicKeyHashIdentityEntry { + public_key_hash: hash.to_vec(), + value: maybe_identity + .map(|identity| identity.serialize_consume_to_bytes()) + .transpose()?, + }) + }) + .collect::, ProtocolError>>()?; + + GetIdentitiesByPublicKeyHashesResponse { + version: Some(get_identities_by_public_key_hashes_response::Version::V0(GetIdentitiesByPublicKeyHashesResponseV0 { + metadata: Some(metadata), + result: Some(get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Identities( + get_identities_by_public_key_hashes_response::IdentitiesByPublicKeyHashes { + identity_entries: identities, + }, + )), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity/mod.rs new file mode 100644 index 0000000000..cd465ff771 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity/mod.rs @@ -0,0 +1,60 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_request::Version; +use dapi_grpc::platform::v0::GetIdentityRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of an identity + pub(in crate::query) fn query_identity( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetIdentityRequest { version } = + check_validation_result_with_data!(GetIdentityRequest::decode(query_data).map_err( + |e| QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identity query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .identity; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "identity".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_request) => { + self.query_identity_v0(state, get_identity_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs new file mode 100644 index 0000000000..358ebd142b --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity/v0/mod.rs @@ -0,0 +1,85 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; +use dapi_grpc::platform::v0::get_identity_response::GetIdentityResponseV0; +use dapi_grpc::platform::v0::{get_identity_response, GetIdentityResponse, Proof}; +use dpp::check_validation_result_with_data; +use dpp::identifier::Identifier; +use dpp::serialization::PlatformSerializable; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + pub(super) fn query_identity_v0( + &self, + state: &PlatformState, + get_identity_request: GetIdentityRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetIdentityRequestV0 { id, prove } = get_identity_request; + let identity_id: Identifier = + check_validation_result_with_data!(id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })); + let response_data = if prove { + let proof = self.drive.prove_full_identity( + identity_id.into_buffer(), + None, + &platform_version.drive, + )?; + + GetIdentityResponse { + version: Some(get_identity_response::Version::V0(GetIdentityResponseV0 { + result: Some( + get_identity_response::get_identity_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }), + ), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let maybe_identity = self.drive.fetch_full_identity( + identity_id.into_buffer(), + None, + platform_version, + )?; + + let identity = check_validation_result_with_data!(maybe_identity.ok_or_else(|| { + QueryError::NotFound(format!("identity {} not found", identity_id)) + })); + + let serialized_identity = identity + .serialize_consume_to_bytes() + .map_err(Error::Protocol)?; + + GetIdentityResponse { + version: Some(get_identity_response::Version::V0(GetIdentityResponseV0 { + result: Some( + get_identity_response::get_identity_response_v0::Result::Identity( + serialized_identity, + ), + ), + metadata: Some(metadata), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/mod.rs new file mode 100644 index 0000000000..009705453e --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/mod.rs @@ -0,0 +1,66 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::Version; +use dapi_grpc::platform::v0::GetIdentityByPublicKeyHashRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of an identity by a public key hash + pub(in crate::query) fn query_identity_by_public_key_hash( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetIdentityByPublicKeyHashRequest { version } = check_validation_result_with_data!( + GetIdentityByPublicKeyHashRequest::decode(query_data).map_err(|e| { + QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + }) + ); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError( + "could not decode identity by public key hash query".to_string(), + ), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .identity_by_public_key_hash; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "identity_by_public_key_hash".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_by_public_key_hash_request) => self + .query_identity_by_public_key_hash_v0( + state, + get_identity_by_public_key_hash_request, + platform_version, + ), + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs new file mode 100644 index 0000000000..988a3e5d85 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/identity_by_public_key_hash/v0/mod.rs @@ -0,0 +1,87 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::GetIdentityByPublicKeyHashRequestV0; +use dapi_grpc::platform::v0::get_identity_by_public_key_hash_response::GetIdentityByPublicKeyHashResponseV0; +use dapi_grpc::platform::v0::{ + get_identity_by_public_key_hash_response, GetIdentityByPublicKeyHashResponse, Proof, +}; +use dpp::check_validation_result_with_data; +use dpp::platform_value::Bytes20; +use dpp::serialization::PlatformSerializable; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + pub(super) fn query_identity_by_public_key_hash_v0( + &self, + state: &PlatformState, + request: GetIdentityByPublicKeyHashRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetIdentityByPublicKeyHashRequestV0 { + public_key_hash, + prove, + } = request; + let public_key_hash = + check_validation_result_with_data!(Bytes20::from_vec(public_key_hash) + .map(|bytes| bytes.0) + .map_err(|_| QueryError::InvalidArgument( + "public key hash must be 20 bytes long".to_string() + ))); + let response_data = if prove { + let proof = self.drive.prove_full_identity_by_unique_public_key_hash( + public_key_hash, + None, + platform_version, + )?; + + GetIdentityByPublicKeyHashResponse { + version: Some(get_identity_by_public_key_hash_response::Version::V0(GetIdentityByPublicKeyHashResponseV0 { + result: Some(get_identity_by_public_key_hash_response::get_identity_by_public_key_hash_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let maybe_identity = self.drive.fetch_full_identity_by_unique_public_key_hash( + public_key_hash, + None, + platform_version, + )?; + + let identity = check_validation_result_with_data!(maybe_identity.ok_or_else(|| { + QueryError::NotFound(format!( + "identity for public key hash {} not found", + hex::encode(public_key_hash) + )) + })); + + let serialized_identity = identity + .serialize_consume_to_bytes() + .map_err(Error::Protocol)?; + + GetIdentityByPublicKeyHashResponse { + version: Some(get_identity_by_public_key_hash_response::Version::V0(GetIdentityByPublicKeyHashResponseV0 { + metadata: Some(metadata), + result: Some(get_identity_by_public_key_hash_response::get_identity_by_public_key_hash_response_v0::Result::Identity(serialized_identity)), + })), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/keys/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/keys/mod.rs new file mode 100644 index 0000000000..fa87f7ba8a --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/keys/mod.rs @@ -0,0 +1,60 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_keys_request::Version; +use dapi_grpc::platform::v0::GetIdentityKeysRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of an identity's keys + pub(in crate::query) fn query_keys( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetIdentityKeysRequest { version } = + check_validation_result_with_data!(GetIdentityKeysRequest::decode(query_data).map_err( + |e| QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identity keys query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .identity_based_queries + .keys; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "keys".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_request) => { + self.query_keys_v0(state, get_identity_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs new file mode 100644 index 0000000000..80b3bbb608 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/keys/v0/mod.rs @@ -0,0 +1,178 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_identity_keys_request::GetIdentityKeysRequestV0; +use dapi_grpc::platform::v0::get_identity_keys_response::GetIdentityKeysResponseV0; +use dapi_grpc::platform::v0::{get_identity_keys_response, GetIdentityKeysResponse, Proof}; +use dpp::check_validation_result_with_data; +use dpp::identifier::Identifier; +use drive::error::query::QuerySyntaxError; +use prost::Message; +use std::collections::BTreeMap; + +use dpp::identity::{KeyID, Purpose, SecurityLevel}; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use drive::drive::identity::key::fetch::{ + IdentityKeysRequest, KeyKindRequestType, KeyRequestType, PurposeU8, SecurityLevelU8, + SerializedKeyVec, +}; + +fn from_i32_to_key_kind_request_type(value: i32) -> Option { + match value { + 0 => Some(KeyKindRequestType::CurrentKeyOfKindRequest), + 1 => Some(KeyKindRequestType::AllKeysOfKindRequest), + _ => None, + } +} + +fn convert_key_request_type( + request_type: dapi_grpc::platform::v0::key_request_type::Request, +) -> Result { + match request_type { + dapi_grpc::platform::v0::key_request_type::Request::AllKeys(_) => { + Ok(KeyRequestType::AllKeys) + } + dapi_grpc::platform::v0::key_request_type::Request::SpecificKeys(specific_keys) => { + let key_ids = specific_keys + .key_ids + .into_iter() + .map(|id| id as KeyID) + .collect(); + Ok(KeyRequestType::SpecificKeys(key_ids)) + } + dapi_grpc::platform::v0::key_request_type::Request::SearchKey(search_key) => { + let purpose_map = search_key.purpose_map.into_iter().map(|(purpose, security_level_map)| { + let security_level_map = security_level_map.security_level_map.into_iter().map(|(security_level, key_kind_request_type)| { + if security_level > u8::MAX as u32 { + return Err(QueryError::Query(QuerySyntaxError::InvalidKeyParameter("security level out of bounds".to_string()))); + } + let security_level = SecurityLevel::try_from(security_level as u8).map_err(|_| QueryError::Query(QuerySyntaxError::InvalidKeyParameter(format!("security level {} not recognized", security_level))))?; + + let key_kind_request_type = from_i32_to_key_kind_request_type(key_kind_request_type).ok_or(QueryError::Query(QuerySyntaxError::InvalidKeyParameter(format!("unknown key kind request type {}", key_kind_request_type))))?; + Ok(( + security_level as u8, + key_kind_request_type, + )) + }).collect::, QueryError>>()?; + if purpose > u8::MAX as u32 { + return Err(QueryError::Query(QuerySyntaxError::InvalidKeyParameter("purpose out of bounds".to_string()))); + } + let purpose = Purpose::try_from(purpose as u8).map_err(|_| QueryError::Query(QuerySyntaxError::InvalidKeyParameter(format!("purpose {} not recognized", purpose))))?; + + Ok((purpose as u8, security_level_map)) + }).collect::>, QueryError>>()?; + + Ok(KeyRequestType::SearchKey(purpose_map)) + } + } +} + +impl Platform { + pub(super) fn query_keys_v0( + &self, + state: &PlatformState, + request: GetIdentityKeysRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetIdentityKeysRequestV0 { + identity_id, + request_type, + limit, + offset, + prove, + } = request; + let identity_id: Identifier = check_validation_result_with_data!(identity_id + .try_into() + .map_err(|_| QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string() + ))); + if let Some(limit) = limit { + if limit > u16::MAX as u32 { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + QuerySyntaxError::InvalidParameter("limit out of bounds".to_string()), + ))); + } + if limit as u16 > self.config.drive.max_query_limit { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + QuerySyntaxError::InvalidLimit(format!( + "limit greater than max limit {}", + self.config.drive.max_query_limit + )), + ))); + } + } + + if let Some(offset) = offset { + if offset > u16::MAX as u32 { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + QuerySyntaxError::InvalidParameter("offset out of bounds".to_string()), + ))); + } + } + let Some(request_type) = request_type else { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + QuerySyntaxError::InvalidParameter("key request must be defined".to_string()), + ))); + }; + let Some(request) = request_type.request else { + return Ok(QueryValidationResult::new_with_error(QueryError::Query( + QuerySyntaxError::InvalidParameter("key request must be defined".to_string()), + ))); + }; + let key_request_type = + check_validation_result_with_data!(convert_key_request_type(request)); + let key_request = IdentityKeysRequest { + identity_id: identity_id.into_buffer(), + request_type: key_request_type, + limit: limit.map(|l| l as u16), + offset: offset.map(|o| o as u16), + }; + let response_data = if prove { + let proof = self + .drive + .prove_identity_keys(key_request, None, platform_version)?; + + GetIdentityKeysResponse { + version: Some(get_identity_keys_response::Version::V0(GetIdentityKeysResponseV0 { + result: Some(get_identity_keys_response::get_identity_keys_response_v0::Result::Proof(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + })), + metadata: Some(metadata), + })), + } + .encode_to_vec() + } else { + let keys: SerializedKeyVec = + self.drive + .fetch_identity_keys(key_request, None, platform_version)?; + + GetIdentityKeysResponse { + version: Some(get_identity_keys_response::Version::V0( + GetIdentityKeysResponseV0 { + result: Some( + get_identity_keys_response::get_identity_keys_response_v0::Result::Keys( + get_identity_keys_response::get_identity_keys_response_v0::Keys { + keys_bytes: keys, + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/identity_based_queries/mod.rs b/packages/rs-drive-abci/src/query/identity_based_queries/mod.rs new file mode 100644 index 0000000000..e636cc4e59 --- /dev/null +++ b/packages/rs-drive-abci/src/query/identity_based_queries/mod.rs @@ -0,0 +1,7 @@ +mod balance; +mod balance_and_revision; +mod identities; +mod identities_by_public_key_hashes; +mod identity; +mod identity_by_public_key_hash; +mod keys; diff --git a/packages/rs-drive-abci/src/query/mod.rs b/packages/rs-drive-abci/src/query/mod.rs index 56425ceffd..4e678b3fcd 100644 --- a/packages/rs-drive-abci/src/query/mod.rs +++ b/packages/rs-drive-abci/src/query/mod.rs @@ -1,9 +1,15 @@ +mod data_contract_based_queries; +mod document_query; +mod identity_based_queries; +mod proofs; +mod response_metadata; mod v0; use crate::error::query::QueryError; use crate::error::Error; use crate::platform_types::platform::Platform; +use crate::error::execution::ExecutionError; use dpp::validation::ValidationResult; use dpp::version::PlatformVersion; @@ -18,13 +24,32 @@ impl Platform { query_data: &[u8], platform_version: &PlatformVersion, ) -> Result>, Error> { - //todo: choose based on protocol version - self.query_v0(query_path, query_data, platform_version) + match platform_version.drive_abci.query.base_query_structure { + 0 => self.query_v0(query_path, query_data, platform_version), + version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { + method: "Platform::query".to_string(), + known_versions: vec![0], + received: version, + })), + } } } #[cfg(test)] mod tests { + #[macro_export] + macro_rules! extract_variant_or_panic { + ($expression:expr, $pattern:pat, $binding:ident) => { + match $expression { + $pattern => $binding, + // _ => panic!( + // "Expected pattern {} but got another variant", + // stringify!($pattern) + // ), + } + }; + } + use crate::config::PlatformConfig; use crate::error::query::QueryError; use crate::platform_types::platform::Platform; @@ -96,7 +121,7 @@ mod tests { let data = vec![0; 32]; let path = "/invalid_path"; - let result = platform.query(path, &data, &platform_version); + let result = platform.query(path, &data, platform_version); assert!(result.is_ok()); let validation_result = result.unwrap(); @@ -127,7 +152,7 @@ mod tests { ]; paths.iter().for_each(|path| { - let result = platform.query(path, &vec![0; 8], &version); + let result = platform.query(path, &[0; 8], version); assert!(result.is_ok()); let validation_result = result.unwrap(); @@ -143,8 +168,9 @@ mod tests { use crate::error::query::QueryError; use crate::query::tests::assert_invalid_identifier; use bs58::encode; + use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; use dapi_grpc::platform::v0::{ - get_identity_response, GetIdentityRequest, GetIdentityResponse, + get_identity_request, get_identity_response, GetIdentityRequest, GetIdentityResponse, }; use prost::Message; @@ -155,12 +181,14 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityRequest { - id: vec![0; 8], - prove: false, + version: Some(get_identity_request::Version::V0(GetIdentityRequestV0 { + id: vec![0; 8], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); assert_invalid_identifier(result.unwrap()); } @@ -171,12 +199,14 @@ mod tests { let id = vec![0; 32]; let request = GetIdentityRequest { - id: id.clone(), - prove: false, + version: Some(get_identity_request::Version::V0(GetIdentityRequestV0 { + id: id.clone(), + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -195,27 +225,37 @@ mod tests { let id = vec![0; 32]; let request = GetIdentityRequest { - id: id.clone(), - prove: true, + version: Some(get_identity_request::Version::V0(GetIdentityRequestV0 { + id: id.clone(), + prove: true, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let response = GetIdentityResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); assert!(matches!( - response.result.unwrap(), - get_identity_response::Result::Proof(_) + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_identity_response::Version::V0(inner), + inner + ) + .result + .unwrap(), + get_identity_response::get_identity_response_v0::Result::Proof(_) )); } } mod identities { + use dapi_grpc::platform::v0::get_identities_request::GetIdentitiesRequestV0; use dapi_grpc::platform::v0::{ - get_identities_response, GetIdentitiesRequest, GetIdentitiesResponse, + get_identities_request, get_identities_response, GetIdentitiesRequest, + GetIdentitiesResponse, }; use prost::Message; @@ -226,12 +266,16 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentitiesRequest { - ids: vec![vec![0; 8]], - prove: false, + version: Some(get_identities_request::Version::V0( + GetIdentitiesRequestV0 { + ids: vec![vec![0; 8]], + prove: false, + }, + )), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -241,20 +285,32 @@ mod tests { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; + let request = GetIdentitiesRequest { - ids: vec![id.clone()], - prove: false, + version: Some(get_identities_request::Version::V0( + GetIdentitiesRequestV0 { + ids: vec![id.clone()], + prove: false, + }, + )), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let data = validation_result.data.unwrap(); let response = GetIdentitiesResponse::decode(data.as_slice()).unwrap(); - let get_identities_response::Result::Identities(identities) = response.result.unwrap() + let get_identities_response::get_identities_response_v0::Result::Identities(identities) = + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_identities_response::Version::V0(inner), + inner + ) + .result + .unwrap() else { panic!("invalid response") }; @@ -268,20 +324,30 @@ mod tests { let id = vec![0; 32]; let request = GetIdentitiesRequest { - ids: vec![id.clone()], - prove: true, + version: Some(get_identities_request::Version::V0( + GetIdentitiesRequestV0 { + ids: vec![id.clone()], + prove: true, + }, + )), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let response = GetIdentitiesResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); assert!(matches!( - response.result.unwrap(), - get_identities_response::Result::Proof(_) + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_identities_response::Version::V0(inner), + inner + ) + .result + .unwrap(), + get_identities_response::get_identities_response_v0::Result::Proof(_) )); } } @@ -289,8 +355,11 @@ mod tests { mod identity_balance { use crate::error::query::QueryError; use bs58::encode; + use dapi_grpc::platform::v0::get_identity_balance_request::{ + GetIdentityBalanceRequestV0, Version, + }; use dapi_grpc::platform::v0::{ - get_identity_balance_response, GetIdentityBalanceResponse, GetIdentityRequest, + get_identity_balance_response, GetIdentityBalanceRequest, GetIdentityBalanceResponse, }; use prost::Message; @@ -300,13 +369,15 @@ mod tests { fn test_invalid_identity_id() { let (platform, version) = super::setup_platform(); - let request = GetIdentityRequest { - id: vec![0; 8], - prove: false, + let request = GetIdentityBalanceRequest { + version: Some(Version::V0(GetIdentityBalanceRequestV0 { + id: vec![0; 8], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -316,23 +387,26 @@ mod tests { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; - let request = GetIdentityRequest { - id: id.clone(), - prove: false, + + let request = GetIdentityBalanceRequest { + version: Some(Version::V0(GetIdentityBalanceRequestV0 { + id: id.clone(), + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let validation_error = validation_result.first_error().unwrap(); - let error_message = format!("identity {} balance not found", encode(id).into_string()); + assert_eq!( + validation_error.to_string(), + "not found error: No Identity found".to_string() + ); - assert!(matches!( - validation_error, - QueryError::NotFound(msg) if msg.contains(&error_message) - )); + assert!(matches!(validation_error, QueryError::NotFound(_))); } #[test] @@ -340,21 +414,30 @@ mod tests { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; - let request = GetIdentityRequest { - id: id.clone(), - prove: true, + + let request = GetIdentityBalanceRequest { + version: Some(Version::V0(GetIdentityBalanceRequestV0 { + id: id.clone(), + prove: true, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); let validation_result = result.unwrap(); let response = GetIdentityBalanceResponse::decode(validation_result.data.unwrap().as_slice()) .unwrap(); assert!(matches!( - response.result.unwrap(), - get_identity_balance_response::Result::Proof(_) + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_identity_balance_response::Version::V0(inner), + inner + ) + .result + .unwrap(), + get_identity_balance_response::get_identity_balance_response_v0::Result::Proof(_) )); } } @@ -362,9 +445,12 @@ mod tests { mod identity_balance_and_revision { use crate::error::query::QueryError; use bs58::encode; + use dapi_grpc::platform::v0::get_identity_balance_and_revision_request::{ + GetIdentityBalanceAndRevisionRequestV0, Version, + }; use dapi_grpc::platform::v0::{ - get_identity_balance_and_revision_response, GetIdentityBalanceAndRevisionResponse, - GetIdentityRequest, + get_identity_balance_and_revision_response, GetIdentityBalanceAndRevisionRequest, + GetIdentityBalanceAndRevisionResponse, }; use prost::Message; @@ -374,42 +460,44 @@ mod tests { fn test_invalid_identity_id() { let (platform, version) = super::setup_platform(); - let request = GetIdentityRequest { - id: vec![0; 8], - prove: false, + let request = GetIdentityBalanceAndRevisionRequest { + version: Some(Version::V0(GetIdentityBalanceAndRevisionRequestV0 { + id: vec![0; 8], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } #[test] - fn test_identity_not_found() { + fn test_identity_not_found_when_querying_balance_and_revision() { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; - let request = GetIdentityRequest { - id: id.clone(), - prove: false, + + let request = GetIdentityBalanceAndRevisionRequest { + version: Some(Version::V0(GetIdentityBalanceAndRevisionRequestV0 { + id: id.clone(), + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let validation_error = validation_result.first_error().unwrap(); - let error_message = format!( - "identity {} balance and revision not found", - encode(id).into_string() + assert_eq!( + validation_error.to_string(), + "not found error: No Identity balance found".to_string() ); - assert!(matches!( - validation_error, - QueryError::NotFound(msg) if msg.contains(&error_message) - )); + assert!(matches!(validation_error, QueryError::NotFound(_))); } #[test] @@ -417,13 +505,16 @@ mod tests { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; - let request = GetIdentityRequest { - id: id.clone(), - prove: true, + + let request = GetIdentityBalanceAndRevisionRequest { + version: Some(Version::V0(GetIdentityBalanceAndRevisionRequestV0 { + id: id.clone(), + prove: true, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let response = GetIdentityBalanceAndRevisionResponse::decode( @@ -432,14 +523,17 @@ mod tests { .unwrap(); assert!(matches!( - response.result.unwrap(), - get_identity_balance_and_revision_response::Result::Proof(_) + extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identity_balance_and_revision_response::Version::V0(inner), inner).result.unwrap(), + get_identity_balance_and_revision_response::get_identity_balance_and_revision_response_v0::Result::Proof(_) )); } } mod identity_keys { use crate::error::query::QueryError; + use dapi_grpc::platform::v0::get_identity_keys_request::{ + GetIdentityKeysRequestV0, Version, + }; use dapi_grpc::platform::v0::{ get_identity_keys_response, key_request_type::Request, AllKeys, GetIdentityKeysRequest, GetIdentityKeysResponse, KeyRequestType, SearchKey, SecurityLevelMap, @@ -454,15 +548,17 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 8], - request_type: None, - limit: None, - offset: None, - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 8], + request_type: None, + limit: None, + offset: None, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -472,15 +568,17 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: None, - limit: Some(u32::MAX), - offset: None, - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: None, + limit: Some(u32::MAX), + offset: None, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -496,15 +594,17 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: None, - limit: Some((platform.config.drive.max_query_limit + 1) as u32), - offset: None, - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: None, + limit: Some((platform.config.drive.max_query_limit + 1) as u32), + offset: None, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -525,17 +625,19 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: None, - limit: None, - offset: Some(u32::MAX), - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: None, + limit: None, + offset: Some(u32::MAX), + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let validation_error = validation_result.first_error().unwrap(); assert!(matches!( @@ -549,15 +651,17 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: None, - limit: None, - offset: None, - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: None, + limit: None, + offset: None, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -573,15 +677,17 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: Some(KeyRequestType { request: None }), - limit: None, - offset: None, - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: Some(KeyRequestType { request: None }), + limit: None, + offset: None, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -597,26 +703,28 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: Some(KeyRequestType { - request: Some(Request::SearchKey(SearchKey { - purpose_map: [( - 0, - SecurityLevelMap { - security_level_map: [(u32::MAX, 0)].into_iter().collect(), - }, - )] - .into_iter() - .collect(), - })), - }), - limit: None, - offset: None, - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: Some(KeyRequestType { + request: Some(Request::SearchKey(SearchKey { + purpose_map: [( + 0, + SecurityLevelMap { + security_level_map: [(u32::MAX, 0)].into_iter().collect(), + }, + )] + .into_iter() + .collect(), + })), + }), + limit: None, + offset: None, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -632,57 +740,73 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: Some(KeyRequestType { - request: Some(Request::AllKeys(AllKeys {})), - }), - limit: None, - offset: None, - prove: false, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: Some(KeyRequestType { + request: Some(Request::AllKeys(AllKeys {})), + }), + limit: None, + offset: None, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let data = validation_result.data.unwrap(); let response = GetIdentityKeysResponse::decode(data.as_slice()).unwrap(); - let get_identity_keys_response::Result::Keys(keys) = response.result.unwrap() else { + let get_identity_keys_response::get_identity_keys_response_v0::Result::Keys(keys) = + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_identity_keys_response::Version::V0(inner), + inner + ) + .result + .unwrap() + else { panic!("invalid response") }; assert_eq!(keys.keys_bytes.len(), 0); } - // TODO: fix - fails with "should generate proof: CorruptedCodeExecution("Cannot create proof for empty tree")" - #[ignore] #[test] fn test_absent_keys_proof() { let (platform, version) = super::setup_platform(); let request = GetIdentityKeysRequest { - identity_id: vec![0; 32], - request_type: Some(KeyRequestType { - request: Some(Request::AllKeys(AllKeys {})), - }), - limit: None, - offset: None, - prove: true, + version: Some(Version::V0(GetIdentityKeysRequestV0 { + identity_id: vec![0; 32], + request_type: Some(KeyRequestType { + request: Some(Request::AllKeys(AllKeys {})), + }), + limit: None, + offset: None, + prove: true, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let response = GetIdentityKeysResponse::decode(validation_result.data.unwrap().as_slice()) .unwrap(); assert!(matches!( - response.result.unwrap(), - get_identity_keys_response::Result::Proof(_) + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_identity_keys_response::Version::V0(inner), + inner + ) + .result + .unwrap(), + get_identity_keys_response::get_identity_keys_response_v0::Result::Proof(_) )); } } @@ -690,6 +814,9 @@ mod tests { mod data_contract { use crate::error::query::QueryError; use bs58::encode; + use dapi_grpc::platform::v0::get_data_contract_request::{ + GetDataContractRequestV0, Version, + }; use dapi_grpc::platform::v0::{ get_data_contract_response, GetDataContractRequest, GetDataContractResponse, }; @@ -702,12 +829,14 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetDataContractRequest { - id: vec![0; 8], - prove: false, + version: Some(Version::V0(GetDataContractRequestV0 { + id: vec![0; 8], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -718,12 +847,14 @@ mod tests { let id = vec![0; 32]; let request = GetDataContractRequest { - id: id.clone(), - prove: false, + version: Some(Version::V0(GetDataContractRequestV0 { + id: id.clone(), + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -736,34 +867,43 @@ mod tests { )); } - // TODO: fix - fails with "should generate proof: CorruptedCodeExecution("Cannot create proof for empty tree")" - #[ignore] #[test] fn test_data_contract_absence_proof() { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; let request = GetDataContractRequest { - id: id.clone(), - prove: true, + version: Some(Version::V0(GetDataContractRequestV0 { + id: id.clone(), + prove: true, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let response = GetDataContractResponse::decode(validation_result.data.unwrap().as_slice()) .unwrap(); assert!(matches!( - response.result.unwrap(), - get_data_contract_response::Result::Proof(_) + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_data_contract_response::Version::V0(inner), + inner + ) + .result + .unwrap(), + get_data_contract_response::get_data_contract_response_v0::Result::Proof(_) )); } } mod data_contracts { + use dapi_grpc::platform::v0::get_data_contracts_request::{ + GetDataContractsRequestV0, Version, + }; use dapi_grpc::platform::v0::{ get_data_contracts_response, GetDataContractsRequest, GetDataContractsResponse, }; @@ -776,12 +916,14 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetDataContractsRequest { - ids: vec![vec![0; 8]], - prove: false, + version: Some(Version::V0(GetDataContractsRequestV0 { + ids: vec![vec![0; 8]], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -792,50 +934,65 @@ mod tests { let id = vec![0; 32]; let request = GetDataContractsRequest { - ids: vec![id.clone()], - prove: false, + version: Some(Version::V0(GetDataContractsRequestV0 { + ids: vec![id.clone()], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let data = validation_result.data.unwrap(); let response = GetDataContractsResponse::decode(data.as_slice()).unwrap(); - let get_data_contracts_response::Result::DataContracts(contracts) = - response.result.unwrap() + let get_data_contracts_response::get_data_contracts_response_v0::Result::DataContracts( + contracts, + ) = extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_data_contracts_response::Version::V0(inner), + inner + ) + .result + .expect("expected a response") else { panic!("invalid response") }; - assert!(contracts.data_contract_entries[0].value.is_none()); + assert!(contracts.data_contract_entries[0].data_contract.is_none()); } - // should generate proof: CorruptedCodeExecution("Cannot create proof for empty tree") - #[ignore] #[test] fn test_data_contracts_absence_proof() { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; let request = GetDataContractsRequest { - ids: vec![id.clone()], - prove: true, + version: Some(Version::V0(GetDataContractsRequestV0 { + ids: vec![id.clone()], + prove: true, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let response = GetDataContractsResponse::decode(validation_result.data.unwrap().as_slice()) .unwrap(); assert!(matches!( - response.result.unwrap(), - get_data_contracts_response::Result::Proof(_) + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_data_contracts_response::Version::V0(inner), + inner + ) + .result + .unwrap(), + get_data_contracts_response::get_data_contracts_response_v0::Result::Proof(_) )); } } @@ -843,6 +1000,9 @@ mod tests { mod data_contract_history { use crate::error::query::QueryError; use bs58::encode; + use dapi_grpc::platform::v0::get_data_contract_history_request::{ + GetDataContractHistoryRequestV0, Version, + }; use dapi_grpc::platform::v0::{ get_data_contract_history_response, GetDataContractHistoryRequest, GetDataContractHistoryResponse, @@ -856,15 +1016,17 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetDataContractHistoryRequest { - id: vec![0; 8], - limit: None, - offset: None, - start_at_ms: 0, - prove: false, + version: Some(Version::V0(GetDataContractHistoryRequestV0 { + id: vec![0; 8], + limit: None, + offset: None, + start_at_ms: 0, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -874,23 +1036,26 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetDataContractHistoryRequest { - id: vec![0; 32], - limit: Some(u32::MAX), - offset: None, - start_at_ms: 0, - prove: false, + version: Some(Version::V0(GetDataContractHistoryRequestV0 { + id: vec![0; 32], + limit: Some(u32::MAX), + offset: None, + start_at_ms: 0, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let validation_error = validation_result.first_error().unwrap(); - assert!(matches!( - validation_error, - QueryError::InvalidArgument(msg) if msg.contains("can't fit u16 limit from the supplied value") - )); + assert!(matches!(validation_error, QueryError::InvalidArgument(_))); + assert_eq!( + validation_error.to_string().as_str(), + "invalid argument error: limit out of bounds" + ) } #[test] @@ -898,23 +1063,26 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetDataContractHistoryRequest { - id: vec![0; 32], - limit: None, - offset: Some(u32::MAX), - start_at_ms: 0, - prove: false, + version: Some(Version::V0(GetDataContractHistoryRequestV0 { + id: vec![0; 32], + limit: None, + offset: Some(u32::MAX), + start_at_ms: 0, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let validation_error = validation_result.first_error().unwrap(); - assert!(matches!( - validation_error, - QueryError::InvalidArgument(msg) if msg.contains("can't fit u16 offset from the supplied value") - )); + assert!(matches!(validation_error, QueryError::InvalidArgument(_))); + assert_eq!( + validation_error.to_string().as_str(), + "invalid argument error: offset out of bounds" + ); } #[test] @@ -922,16 +1090,19 @@ mod tests { let (platform, version) = super::setup_platform(); let id = vec![0; 32]; + let request = GetDataContractHistoryRequest { - id: vec![0; 32], - limit: None, - offset: None, - start_at_ms: 0, - prove: false, + version: Some(Version::V0(GetDataContractHistoryRequestV0 { + id: vec![0; 32], + limit: None, + offset: None, + start_at_ms: 0, + prove: false, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); let validation_error = validation_result.first_error().unwrap(); @@ -947,31 +1118,31 @@ mod tests { )); } - // should generate proof: CorruptedCodeExecution("Cannot create proof for empty tree") - #[ignore] #[test] fn test_data_contract_history_absence_proof() { let (platform, version) = super::setup_platform(); let request = GetDataContractHistoryRequest { - id: vec![0; 32], - limit: None, - offset: None, - start_at_ms: 0, - prove: true, + version: Some(Version::V0(GetDataContractHistoryRequestV0 { + id: vec![0; 32], + limit: None, + offset: None, + start_at_ms: 0, + prove: true, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); let response = GetDataContractHistoryResponse::decode(validation_result.data.unwrap().as_slice()) .unwrap(); assert!(matches!( - response.result.unwrap(), - get_data_contract_history_response::Result::Proof(_) + extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_data_contract_history_response::Version::V0(inner), inner).result.unwrap(), + get_data_contract_history_response::get_data_contract_history_response_v0::Result::Proof(_) )); } } @@ -983,7 +1154,8 @@ mod tests { get_documents_response, GetDocumentsRequest, GetDocumentsResponse, }; - use dapi_grpc::platform::v0::get_documents_request::Start; + use dapi_grpc::platform::v0::get_documents_request::get_documents_request_v0::Start; + use dapi_grpc::platform::v0::get_documents_request::{GetDocumentsRequestV0, Version}; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::platform_value::string_encoding::Encoding; use dpp::tests::fixtures::get_data_contract_fixture; @@ -997,48 +1169,51 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetDocumentsRequest { - data_contract_id: vec![0; 8], - document_type: "niceDocument".to_string(), - r#where: vec![], - limit: 0, - order_by: vec![], - prove: false, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: vec![0; 8], + document_type: "niceDocument".to_string(), + r#where: vec![], + limit: 0, + order_by: vec![], + prove: false, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } #[test] - fn test_data_contract_not_found() { + fn test_data_contract_not_found_in_documents_request() { let (platform, version) = super::setup_platform(); let data_contract_id = vec![0; 32]; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.clone(), - document_type: "niceDocument".to_string(), - r#where: vec![], - limit: 0, - order_by: vec![], - prove: false, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.clone(), + document_type: "niceDocument".to_string(), + r#where: vec![], + limit: 0, + order_by: vec![], + prove: false, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); - let validation_result = result.unwrap(); - - let message = format!( - "data contract {} not found", - bs58::encode(data_contract_id).into_string() - ); + let validation_result = platform + .query(QUERY_PATH, &request, version) + .expect("expected query to succeed"); + let validation_error = validation_result.first_error().expect("expected an error"); + assert_eq!(validation_error.to_string().as_str(), "query syntax error: contract not found error: contract not found when querying from value with contract info"); assert!(matches!( - validation_result.first_error().unwrap(), - QueryError::NotFound(msg) if msg.contains(message.as_str()) - )) + validation_error, + QueryError::Query(QuerySyntaxError::DataContractNotFound(_)) + )); } #[test] @@ -1050,18 +1225,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "fakeDocument"; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![], - limit: 0, - order_by: vec![], - prove: false, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![], + limit: 0, + order_by: vec![], + prove: false, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); let validation_result = result.unwrap(); let message = format!( @@ -1084,18 +1262,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "niceDocument"; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![0x9F], // Incomplete CBOR array - limit: 0, - order_by: vec![], - prove: false, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![0x9F], // Incomplete CBOR array + limit: 0, + order_by: vec![], + prove: false, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); let validation_result = result.unwrap(); assert!(matches!( @@ -1113,18 +1294,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "niceDocument"; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![], - limit: 0, - order_by: vec![0x9F], // Incomplete CBOR array - prove: false, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![], + limit: 0, + order_by: vec![0x9F], // Incomplete CBOR array + prove: false, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); let validation_result = result.unwrap(); assert!(matches!( @@ -1142,18 +1326,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "niceDocument"; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![], - limit: 0, - order_by: vec![], - prove: false, - start: Some(Start::StartAt(vec![0; 8])), + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![], + limit: 0, + order_by: vec![], + prove: false, + start: Some(Start::StartAt(vec![0; 8])), + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); let validation_result = result.unwrap(); assert!(matches!( @@ -1171,18 +1358,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "niceDocument"; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![], - limit: 0, - order_by: vec![], - prove: false, - start: Some(Start::StartAfter(vec![0; 8])), + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![], + limit: 0, + order_by: vec![], + prove: false, + start: Some(Start::StartAfter(vec![0; 8])), + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); let validation_result = result.unwrap(); assert!(matches!( @@ -1201,18 +1391,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "niceDocument"; let limit = u32::MAX; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![], - limit, - order_by: vec![], - prove: false, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![], + limit, + order_by: vec![], + prove: false, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); let validation_result = result.unwrap(); assert!(matches!( @@ -1230,18 +1423,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "niceDocument"; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![], - limit: 0, - order_by: vec![], - prove: false, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![], + limit: 0, + order_by: vec![], + prove: false, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); assert!(validation_result.is_valid()); @@ -1250,11 +1446,19 @@ mod tests { ) .expect("response decoded"); - let Some(result) = response.result else { + let Some(result) = extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_documents_response::Version::V0(inner), + inner + ) + .result + else { panic!("invalid response") }; - let get_documents_response::Result::Documents(documents) = result else { + let get_documents_response::get_documents_response_v0::Result::Documents(documents) = + result + else { panic!("invalid response") }; @@ -1270,18 +1474,21 @@ mod tests { let data_contract_id = created_data_contract.data_contract().id(); let document_type = "niceDocument"; + let request = GetDocumentsRequest { - data_contract_id: data_contract_id.to_vec(), - document_type: document_type.to_string(), - r#where: vec![], - limit: 0, - order_by: vec![], - prove: true, - start: None, + version: Some(Version::V0(GetDocumentsRequestV0 { + data_contract_id: data_contract_id.to_vec(), + document_type: document_type.to_string(), + r#where: vec![], + limit: 0, + order_by: vec![], + prove: true, + start: None, + })), } .encode_to_vec(); - let result = platform.query(QUERY_PATH, &request, &version); + let result = platform.query(QUERY_PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); assert!(validation_result.is_valid()); @@ -1291,17 +1498,26 @@ mod tests { .expect("response decoded"); assert!(matches!( - response.result.unwrap(), - get_documents_response::Result::Proof(_) + extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_documents_response::Version::V0(inner), + inner + ) + .result + .unwrap(), + get_documents_response::get_documents_response_v0::Result::Proof(_) )); } } mod identity_by_public_key_hash { use crate::query::QueryError; + use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::{ + GetIdentityByPublicKeyHashRequestV0, Version, + }; use dapi_grpc::platform::v0::{ - get_identity_by_public_key_hashes_response, GetIdentityByPublicKeyHashesRequest, - GetIdentityByPublicKeyHashesResponse, + get_identity_by_public_key_hash_response, GetIdentityByPublicKeyHashRequest, + GetIdentityByPublicKeyHashResponse, }; use prost::Message; @@ -1311,13 +1527,15 @@ mod tests { fn test_invalid_public_key_hash() { let (platform, version) = super::setup_platform(); - let request = GetIdentityByPublicKeyHashesRequest { - public_key_hash: vec![0; 8], - prove: false, + let request = GetIdentityByPublicKeyHashRequest { + version: Some(Version::V0(GetIdentityByPublicKeyHashRequestV0 { + public_key_hash: vec![0; 8], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); @@ -1333,16 +1551,17 @@ mod tests { let (platform, version) = super::setup_platform(); let public_key_hash = vec![0; 20]; - let request = GetIdentityByPublicKeyHashesRequest { - public_key_hash: public_key_hash.clone(), - prove: false, + let request = GetIdentityByPublicKeyHashRequest { + version: Some(Version::V0(GetIdentityByPublicKeyHashRequestV0 { + public_key_hash: public_key_hash.clone(), + prove: false, + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); - assert!(result.is_ok()); - - let validation_result = result.unwrap(); + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); assert!(matches!( validation_result.first_error().unwrap(), @@ -1350,40 +1569,40 @@ mod tests { )) } - // TODO: Fails - key not found in Merk for get: 000... - // should return proof of absence instead? - #[ignore] #[test] fn test_identity_absence_proof() { let (platform, version) = super::setup_platform(); let public_key_hash = vec![0; 20]; - let request = GetIdentityByPublicKeyHashesRequest { - public_key_hash: public_key_hash.clone(), - prove: true, + let request = GetIdentityByPublicKeyHashRequest { + version: Some(Version::V0(GetIdentityByPublicKeyHashRequestV0 { + public_key_hash: public_key_hash.clone(), + prove: true, + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); - assert!(result.is_ok()); - - let validation_result = result.unwrap(); + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); - let response = GetIdentityByPublicKeyHashesResponse::decode( + let response = GetIdentityByPublicKeyHashResponse::decode( validation_result.data.unwrap().as_slice(), ) .expect("response decoded"); - assert!(response.result.is_some()); assert!(matches!( - response.result.unwrap(), - get_identity_by_public_key_hashes_response::Result::Proof(_) + extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identity_by_public_key_hash_response::Version::V0(inner), inner).result.unwrap(), + get_identity_by_public_key_hash_response::get_identity_by_public_key_hash_response_v0::Result::Proof(_) )); } } mod identities_by_public_key_hash { use crate::query::QueryError; + use dapi_grpc::platform::v0::get_identities_by_public_key_hashes_request::{ + GetIdentitiesByPublicKeyHashesRequestV0, Version, + }; use dapi_grpc::platform::v0::{ get_identities_by_public_key_hashes_response, GetIdentitiesByPublicKeyHashesRequest, GetIdentitiesByPublicKeyHashesResponse, @@ -1397,12 +1616,14 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentitiesByPublicKeyHashesRequest { - public_key_hashes: vec![vec![0; 8]], - prove: false, + version: Some(Version::V0(GetIdentitiesByPublicKeyHashesRequestV0 { + public_key_hashes: vec![vec![0; 8]], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); @@ -1418,27 +1639,28 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentitiesByPublicKeyHashesRequest { - public_key_hashes: vec![vec![0; 20]], - prove: false, + version: Some(Version::V0(GetIdentitiesByPublicKeyHashesRequestV0 { + public_key_hashes: vec![vec![0; 20]], + prove: false, + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); - assert!(result.is_ok()); - - let validation_result = result.unwrap(); + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); let response = GetIdentitiesByPublicKeyHashesResponse::decode( validation_result.data.unwrap().as_slice(), ) .expect("response decoded"); - let get_identities_by_public_key_hashes_response::Result::Identities(identities) = - response.result.unwrap() + let get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Identities(identities) = + extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identities_by_public_key_hashes_response::Version::V0(inner), inner).result.expect("expected a versioned result") else { panic!("invalid response") }; - assert_eq!(identities.identities.len(), 0); + assert!(identities.identity_entries.first().unwrap().value.is_none()); } #[test] @@ -1446,12 +1668,14 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetIdentitiesByPublicKeyHashesRequest { - public_key_hashes: vec![vec![0; 20]], - prove: true, + version: Some(Version::V0(GetIdentitiesByPublicKeyHashesRequestV0 { + public_key_hashes: vec![vec![0; 20]], + prove: true, + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); @@ -1461,18 +1685,19 @@ mod tests { .expect("response decoded"); assert!(matches!( - response.result.unwrap(), - get_identities_by_public_key_hashes_response::Result::Proof(_) + extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identities_by_public_key_hashes_response::Version::V0(inner), inner).result.unwrap(), + get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Proof(_) )); } } mod proofs { use crate::query::QueryError; - use dapi_grpc::platform::v0::get_proofs_request::{ + use dapi_grpc::platform::v0::get_proofs_request::get_proofs_request_v0::{ ContractRequest, DocumentRequest, IdentityRequest, }; - use dapi_grpc::platform::v0::{GetProofsRequest, GetProofsResponse}; + use dapi_grpc::platform::v0::get_proofs_request::{GetProofsRequestV0, Version}; + use dapi_grpc::platform::v0::{get_proofs_response, GetProofsRequest, GetProofsResponse}; use prost::Message; const PATH: &str = "/proofs"; @@ -1482,16 +1707,18 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetProofsRequest { - identities: vec![IdentityRequest { - identity_id: vec![0; 8], - request_type: 0, - }], - contracts: vec![], - documents: vec![], + version: Some(Version::V0(GetProofsRequestV0 { + identities: vec![IdentityRequest { + identity_id: vec![0; 8], + request_type: 0, + }], + contracts: vec![], + documents: vec![], + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -1501,17 +1728,20 @@ mod tests { let (platform, version) = super::setup_platform(); let request_type = 10; + let request = GetProofsRequest { - identities: vec![IdentityRequest { - identity_id: vec![0; 32], - request_type, - }], - contracts: vec![], - documents: vec![], + version: Some(Version::V0(GetProofsRequestV0 { + identities: vec![IdentityRequest { + identity_id: vec![0; 32], + request_type, + }], + contracts: vec![], + documents: vec![], + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); let validation_result = result.unwrap(); @@ -1529,15 +1759,17 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetProofsRequest { - identities: vec![], - contracts: vec![ContractRequest { - contract_id: vec![0; 8], - }], - documents: vec![], + version: Some(Version::V0(GetProofsRequestV0 { + identities: vec![], + contracts: vec![ContractRequest { + contract_id: vec![0; 8], + }], + documents: vec![], + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -1547,18 +1779,20 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetProofsRequest { - identities: vec![], - contracts: vec![], - documents: vec![DocumentRequest { - contract_id: vec![0; 8], - document_type: "niceDocument".to_string(), - document_type_keeps_history: false, - document_id: vec![0; 32], - }], + version: Some(Version::V0(GetProofsRequestV0 { + identities: vec![], + contracts: vec![], + documents: vec![DocumentRequest { + contract_id: vec![0; 8], + document_type: "niceDocument".to_string(), + document_type_keeps_history: false, + document_id: vec![0; 32], + }], + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } @@ -1568,47 +1802,56 @@ mod tests { let (platform, version) = super::setup_platform(); let request = GetProofsRequest { - identities: vec![], - contracts: vec![], - documents: vec![DocumentRequest { - contract_id: vec![0; 32], - document_type: "niceDocument".to_string(), - document_type_keeps_history: false, - document_id: vec![0; 8], - }], + version: Some(Version::V0(GetProofsRequestV0 { + identities: vec![], + contracts: vec![], + documents: vec![DocumentRequest { + contract_id: vec![0; 32], + document_type: "niceDocument".to_string(), + document_type_keeps_history: false, + document_id: vec![0; 8], + }], + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); + let result = platform.query(PATH, &request, version); assert!(result.is_ok()); super::assert_invalid_identifier(result.unwrap()); } - // TODO: fix - should generate proof: CorruptedCodeExecution("Cannot create proof for empty tree") - #[ignore] #[test] fn test_proof_of_absence() { let (platform, version) = super::setup_platform(); let request = GetProofsRequest { - identities: vec![], - contracts: vec![], - documents: vec![DocumentRequest { - contract_id: vec![0; 32], - document_type: "niceDocument".to_string(), - document_type_keeps_history: false, - document_id: vec![0; 32], - }], + version: Some(Version::V0(GetProofsRequestV0 { + identities: vec![], + contracts: vec![], + documents: vec![DocumentRequest { + contract_id: vec![0; 32], + document_type: "niceDocument".to_string(), + document_type_keeps_history: false, + document_id: vec![0; 32], + }], + })), } .encode_to_vec(); - let result = platform.query(PATH, &request, &version); - assert!(result.is_ok()); - let validation_result = result.unwrap(); + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); let response = GetProofsResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); - assert!(response.proof.is_some()) + let proof = extract_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_proofs_response::Version::V0(inner), + inner + ) + .proof; + + assert!(proof.is_some()) } } } diff --git a/packages/rs-drive-abci/src/query/proofs/mod.rs b/packages/rs-drive-abci/src/query/proofs/mod.rs new file mode 100644 index 0000000000..ca9ed6b063 --- /dev/null +++ b/packages/rs-drive-abci/src/query/proofs/mod.rs @@ -0,0 +1,56 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_proofs_request::Version; +use dapi_grpc::platform::v0::GetProofsRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +mod v0; + +impl Platform { + /// Querying of platform proofs + pub(in crate::query) fn query_proofs( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetProofsRequest { version } = + check_validation_result_with_data!(GetProofsRequest::decode(query_data).map_err(|e| { + QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + })); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identity keys query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version.drive_abci.query.proofs_query; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "proofs".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_identity_request) => { + self.query_proofs_v0(state, get_identity_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/proofs/v0/mod.rs b/packages/rs-drive-abci/src/query/proofs/v0/mod.rs new file mode 100644 index 0000000000..86d2419bbf --- /dev/null +++ b/packages/rs-drive-abci/src/query/proofs/v0/mod.rs @@ -0,0 +1,122 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_proofs_request::GetProofsRequestV0; +use dapi_grpc::platform::v0::get_proofs_response::GetProofsResponseV0; +use dapi_grpc::platform::v0::{get_proofs_response, GetProofsResponse, Proof}; +use dpp::check_validation_result_with_data; +use dpp::platform_value::Bytes32; +use dpp::prelude::Identifier; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use drive::drive::identity::{IdentityDriveQuery, IdentityProveRequestType}; +use drive::query::SingleDocumentDriveQuery; +use prost::Message; + +impl Platform { + pub(super) fn query_proofs_v0( + &self, + state: &PlatformState, + request: GetProofsRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetProofsRequestV0 { + identities, + contracts, + documents, + } = request; + let contract_ids = check_validation_result_with_data!(contracts + .into_iter() + .map(|contract_request| { + Bytes32::from_vec(contract_request.contract_id) + .map(|bytes| bytes.0) + .map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + }) + }) + .collect::, QueryError>>()); + let identity_requests = check_validation_result_with_data!(identities + .into_iter() + .map(|identity_request| { + Ok(IdentityDriveQuery { + identity_id: Bytes32::from_vec(identity_request.identity_id) + .map(|bytes| bytes.0) + .map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })?, + prove_request_type: IdentityProveRequestType::try_from( + identity_request.request_type as u8, + ) + .map_err(|_| { + QueryError::InvalidArgument( + format!( + "invalid prove request type '{}'", + identity_request.request_type + ) + .to_string(), + ) + })?, + }) + }) + .collect::, QueryError>>()); + + let document_queries = check_validation_result_with_data!(documents + .into_iter() + .map(|document_proof_request| { + let contract_id: Identifier = + document_proof_request.contract_id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })?; + let document_id: Identifier = + document_proof_request.document_id.try_into().map_err(|_| { + QueryError::InvalidArgument( + "id must be a valid identifier (32 bytes long)".to_string(), + ) + })?; + + Ok(SingleDocumentDriveQuery { + contract_id: contract_id.into_buffer(), + document_type_name: document_proof_request.document_type, + document_type_keeps_history: document_proof_request.document_type_keeps_history, + document_id: document_id.into_buffer(), + block_time_ms: None, //None because we want latest + }) + }) + .collect::, QueryError>>()); + let proof = self.drive.prove_multiple( + &identity_requests, + &contract_ids, + &document_queries, + None, + platform_version, + )?; + + let response_data = GetProofsResponse { + version: Some(get_proofs_response::Version::V0(GetProofsResponseV0 { + proof: Some(Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }), + metadata: Some(metadata), + })), + } + .encode_to_vec(); + + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/response_metadata/mod.rs b/packages/rs-drive-abci/src/query/response_metadata/mod.rs new file mode 100644 index 0000000000..7fd1ef5a89 --- /dev/null +++ b/packages/rs-drive-abci/src/query/response_metadata/mod.rs @@ -0,0 +1,26 @@ +mod v0; + +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use dapi_grpc::platform::v0::ResponseMetadata; +use dpp::version::PlatformVersion; + +impl Platform { + pub(in crate::query) fn response_metadata( + &self, + state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result { + match platform_version.drive_abci.query.response_metadata { + 0 => Ok(self.response_metadata_v0(state)), + version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { + method: "response_metadata".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs b/packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs new file mode 100644 index 0000000000..5ae5faab56 --- /dev/null +++ b/packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs @@ -0,0 +1,16 @@ +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use dapi_grpc::platform::v0::ResponseMetadata; + +impl Platform { + pub(in crate::query) fn response_metadata_v0(&self, state: &PlatformState) -> ResponseMetadata { + ResponseMetadata { + height: state.height(), + core_chain_locked_height: state.core_height(), + time_ms: state.last_block_time_ms().unwrap_or_default(), + chain_id: self.config.abci.chain_id.clone(), + protocol_version: state.current_protocol_version_in_consensus(), + } + } +} diff --git a/packages/rs-drive-abci/src/query/v0/mod.rs b/packages/rs-drive-abci/src/query/v0/mod.rs index 547b54b596..06fb4536ae 100644 --- a/packages/rs-drive-abci/src/query/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/v0/mod.rs @@ -1,98 +1,11 @@ use crate::error::query::QueryError; use crate::error::Error; use crate::platform_types::platform::Platform; -use dapi_grpc::platform::v0::get_documents_request::Start; -use dapi_grpc::platform::v0::{ - get_data_contract_history_response, get_data_contract_response, get_data_contracts_response, - get_documents_response, get_identities_by_public_key_hashes_response, get_identities_response, - get_identity_balance_and_revision_response, get_identity_balance_response, - get_identity_by_public_key_hashes_response, get_identity_keys_response, get_identity_response, - GetDataContractHistoryRequest, GetDataContractHistoryResponse, GetDataContractRequest, - GetDataContractResponse, GetDataContractsRequest, GetDataContractsResponse, - GetDocumentsRequest, GetDocumentsResponse, GetIdentitiesByPublicKeyHashesRequest, - GetIdentitiesByPublicKeyHashesResponse, GetIdentitiesRequest, GetIdentitiesResponse, - GetIdentityBalanceAndRevisionResponse, GetIdentityBalanceResponse, - GetIdentityByPublicKeyHashesRequest, GetIdentityByPublicKeyHashesResponse, - GetIdentityKeysRequest, GetIdentityKeysResponse, GetIdentityRequest, GetIdentityResponse, - GetProofsRequest, GetProofsResponse, Proof, ResponseMetadata, -}; -use dpp::identifier::Identifier; -use dpp::platform_value::{Bytes20, Bytes32, Value}; -use std::collections::BTreeMap; -use dpp::serialization::{PlatformSerializable, PlatformSerializableWithPlatformVersion}; -use dpp::validation::ValidationResult; -use dpp::{check_validation_result_with_data, ProtocolError}; -use drive::drive::identity::IdentityDriveQuery; -use drive::drive::identity::IdentityProveRequestType; - -use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::query::QueryValidationResult; -use dapi_grpc::platform::v0::get_data_contracts_response::DataContractEntry; -use dapi_grpc::platform::v0::get_identities_response::IdentityEntry; -use dapi_grpc::platform::v0::get_identity_balance_and_revision_response::BalanceAndRevision; +use dpp::serialization::{PlatformSerializable, PlatformSerializableWithPlatformVersion}; -use dapi_grpc::platform::v0::get_data_contract_history_response::DataContractHistoryEntry; -use dpp::data_contract::accessors::v0::DataContractV0Getters; -use dpp::identity::{KeyID, Purpose, SecurityLevel}; use dpp::version::PlatformVersion; -use drive::drive::identity::key::fetch::{ - IdentityKeysRequest, KeyKindRequestType, KeyRequestType, PurposeU8, SecurityLevelU8, - SerializedKeyVec, -}; -use drive::error::query::QuerySyntaxError; -use drive::query::{DriveQuery, SingleDocumentDriveQuery}; -use prost::Message; - -fn from_i32_to_key_kind_request_type(value: i32) -> Option { - match value { - 0 => Some(KeyKindRequestType::CurrentKeyOfKindRequest), - 1 => Some(KeyKindRequestType::AllKeysOfKindRequest), - _ => None, - } -} - -fn convert_key_request_type( - request_type: dapi_grpc::platform::v0::key_request_type::Request, -) -> Result { - match request_type { - dapi_grpc::platform::v0::key_request_type::Request::AllKeys(_) => { - Ok(KeyRequestType::AllKeys) - } - dapi_grpc::platform::v0::key_request_type::Request::SpecificKeys(specific_keys) => { - let key_ids = specific_keys - .key_ids - .into_iter() - .map(|id| id as KeyID) - .collect(); - Ok(KeyRequestType::SpecificKeys(key_ids)) - } - dapi_grpc::platform::v0::key_request_type::Request::SearchKey(search_key) => { - let purpose_map = search_key.purpose_map.into_iter().map(|(purpose, security_level_map)| { - let security_level_map = security_level_map.security_level_map.into_iter().map(|(security_level, key_kind_request_type)| { - if security_level > u8::MAX as u32 { - return Err(QueryError::Query(QuerySyntaxError::InvalidKeyParameter("security level out of bounds".to_string()))); - } - let security_level = SecurityLevel::try_from(security_level as u8).map_err(|_| QueryError::Query(QuerySyntaxError::InvalidKeyParameter(format!("security level {} not recognized", security_level))))?; - - let key_kind_request_type = from_i32_to_key_kind_request_type(key_kind_request_type).ok_or(QueryError::Query(QuerySyntaxError::InvalidKeyParameter(format!("unknown key kind request type {}", key_kind_request_type))))?; - Ok(( - security_level as u8, - key_kind_request_type, - )) - }).collect::, QueryError>>()?; - if purpose > u8::MAX as u32 { - return Err(QueryError::Query(QuerySyntaxError::InvalidKeyParameter("purpose out of bounds".to_string()))); - } - let purpose = Purpose::try_from(purpose as u8).map_err(|_| QueryError::Query(QuerySyntaxError::InvalidKeyParameter(format!("purpose {} not recognized", purpose))))?; - - Ok((purpose as u8, security_level_map)) - }).collect::>, QueryError>>()?; - - Ok(KeyRequestType::SearchKey(purpose_map)) - } - } -} impl Platform { /// Querying @@ -103,1051 +16,29 @@ impl Platform { platform_version: &PlatformVersion, ) -> Result>, Error> { let state = self.state.read().unwrap(); - let metadata = ResponseMetadata { - height: state.height(), - core_chain_locked_height: state.core_height(), - time_ms: state.last_block_time_ms().unwrap_or_default(), - chain_id: self.config.abci.chain_id.clone(), - protocol_version: state.current_protocol_version_in_consensus(), - }; - let quorum_type: u32 = self.config.quorum_type() as u32; match query_path { - "/identity" => { - let GetIdentityRequest { id, prove } = - check_validation_result_with_data!(GetIdentityRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - - let identity_id: Identifier = check_validation_result_with_data!(id - .try_into() - .map_err(|_| QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string() - ))); - - let response_data = if prove { - let proof = self.drive.prove_full_identity( - identity_id.into_buffer(), - None, - &platform_version.drive, - )?; - - GetIdentityResponse { - result: Some(get_identity_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - let maybe_identity = self - .drive - .fetch_full_identity(identity_id.into_buffer(), None, platform_version) - .map_err(Error::Drive)?; - - let identity = - check_validation_result_with_data!(maybe_identity.ok_or_else(|| { - QueryError::NotFound(format!("identity {} not found", identity_id)) - })); - - let serialzied_identity = identity - .serialize_consume_to_bytes() - .map_err(Error::Protocol)?; - - GetIdentityResponse { - result: Some(get_identity_response::Result::Identity(serialzied_identity)), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) - } - "/identities" => { - let GetIdentitiesRequest { ids, prove } = - check_validation_result_with_data!(GetIdentitiesRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - - let identity_ids = check_validation_result_with_data!(ids - .into_iter() - .map(|identity_id_vec| { - Bytes32::from_vec(identity_id_vec) - .map(|bytes| bytes.0) - .map_err(|_| { - QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string(), - ) - }) - }) - .collect::, QueryError>>()); - - let response_data = if prove { - let proof = self.drive.prove_full_identities( - identity_ids.as_slice(), - None, - &platform_version.drive, - )?; - GetIdentitiesResponse { - metadata: Some(metadata), - result: Some(get_identities_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - } - .encode_to_vec() - } else { - let identities = self.drive.fetch_full_identities( - identity_ids.as_slice(), - None, - platform_version, - )?; - - let maybe_serialized_identities: Result, ProtocolError> = - identities - .into_iter() - .map(|(key, maybe_identity)| { - Ok::( - get_identities_response::IdentityEntry { - key: key.to_vec(), - value: maybe_identity - .map(|identity| { - Ok::< - get_identities_response::IdentityValue, - ProtocolError, - >( - get_identities_response::IdentityValue { - value: identity - .serialize_consume_to_bytes()?, - }, - ) - }) - .transpose()?, - }, - ) - }) - .collect(); - - if let Err(e) = maybe_serialized_identities { - return Err(Error::Protocol(e)); - } - - let serialized_identities = maybe_serialized_identities.unwrap(); - - GetIdentitiesResponse { - result: Some(get_identities_response::Result::Identities( - get_identities_response::Identities { - identity_entries: serialized_identities, - }, - )), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) - } - "/identity/balance" => { - let GetIdentityRequest { id, prove } = - check_validation_result_with_data!(GetIdentityRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - let identity_id: Identifier = check_validation_result_with_data!(id - .try_into() - .map_err(|_| QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string() - ))); - let response_data = if prove { - let proof = self.drive.prove_identity_balance( - identity_id.into_buffer(), - None, - &platform_version.drive, - )?; - - GetIdentityBalanceResponse { - result: Some(get_identity_balance_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - let maybe_balance = self.drive.fetch_identity_balance( - identity_id.into_buffer(), - None, - platform_version, - )?; - - if let Some(balance) = maybe_balance { - GetIdentityBalanceResponse { - result: Some(get_identity_balance_response::Result::Balance(balance)), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - return Ok(QueryValidationResult::new_with_error(QueryError::NotFound( - format!("identity {} balance not found", identity_id), - ))); - } - }; - Ok(QueryValidationResult::new_with_data(response_data)) - } + "/identity" => self.query_identity(&state, query_data, platform_version), + "/identities" => self.query_identities(&state, query_data, platform_version), + "/identity/balance" => self.query_balance(&state, query_data, platform_version), "/identity/balanceAndRevision" => { - let GetIdentityRequest { id, prove } = - check_validation_result_with_data!(GetIdentityRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - let identity_id: Identifier = check_validation_result_with_data!(id - .try_into() - .map_err(|_| QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string() - ))); - - let response_data = if prove { - let proof = self.drive.prove_identity_balance_and_revision( - identity_id.into_buffer(), - None, - &platform_version.drive, - )?; - - GetIdentityBalanceResponse { - result: Some(get_identity_balance_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - let maybe_balance = self.drive.fetch_identity_balance( - identity_id.into_buffer(), - None, - platform_version, - )?; - - let maybe_revision = self.drive.fetch_identity_revision( - identity_id.into_buffer(), - true, - None, - platform_version, - )?; - - match (maybe_balance, maybe_revision) { - (Some(balance), Some(revision)) => { - GetIdentityBalanceAndRevisionResponse { - result: Some( - get_identity_balance_and_revision_response::Result::BalanceAndRevision( - BalanceAndRevision { - balance: Some(balance), - revision: Some(revision) - } - ), - ), - metadata: Some(metadata), - } - .encode_to_vec() - }, - _ => return Ok(QueryValidationResult::new_with_error(QueryError::NotFound( - format!( - "identity {} balance and revision not found", - identity_id - ), - ))) - } - }; - - Ok(QueryValidationResult::new_with_data(response_data)) - } - "/identity/keys" => { - let GetIdentityKeysRequest { - identity_id, - request_type, - limit, - offset, - prove, - } = check_validation_result_with_data!(GetIdentityKeysRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - - let identity_id: Identifier = check_validation_result_with_data!(identity_id - .try_into() - .map_err(|_| QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string() - ))); - - if let Some(limit) = limit { - if limit > u16::MAX as u32 { - return Ok(QueryValidationResult::new_with_error(QueryError::Query( - QuerySyntaxError::InvalidParameter("limit out of bounds".to_string()), - ))); - } - if limit as u16 > self.config.drive.max_query_limit { - return Ok(QueryValidationResult::new_with_error(QueryError::Query( - QuerySyntaxError::InvalidLimit(format!( - "limit greater than max limit {}", - self.config.drive.max_query_limit - )), - ))); - } - } - - if let Some(offset) = offset { - if offset > u16::MAX as u32 { - return Ok(QueryValidationResult::new_with_error(QueryError::Query( - QuerySyntaxError::InvalidParameter("offset out of bounds".to_string()), - ))); - } - } - let Some(request_type) = request_type else { - return Ok(QueryValidationResult::new_with_error(QueryError::Query( - QuerySyntaxError::InvalidParameter( - "key request must be defined".to_string(), - ), - ))); - }; - let Some(request) = request_type.request else { - return Ok(QueryValidationResult::new_with_error(QueryError::Query( - QuerySyntaxError::InvalidParameter( - "key request must be defined".to_string(), - ), - ))); - }; - let key_request_type = - check_validation_result_with_data!(convert_key_request_type(request)); - - let key_request = IdentityKeysRequest { - identity_id: identity_id.into_buffer(), - request_type: key_request_type, - limit: limit.map(|l| l as u16), - offset: offset.map(|o| o as u16), - }; - - let response_data = if prove { - let proof = - self.drive - .prove_identity_keys(key_request, None, platform_version)?; - - GetIdentityKeysResponse { - result: Some(get_identity_keys_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - block_id_hash: state.last_block_id_hash().to_vec(), - quorum_type, - })), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - let keys: SerializedKeyVec = - self.drive - .fetch_identity_keys(key_request, None, platform_version)?; - - GetIdentityKeysResponse { - result: Some(get_identity_keys_response::Result::Keys( - get_identity_keys_response::Keys { keys_bytes: keys }, - )), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) + self.query_balance_and_revision(&state, query_data, platform_version) } - "/dataContract" => { - let GetDataContractRequest { id, prove } = - check_validation_result_with_data!(GetDataContractRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - let contract_id: Identifier = check_validation_result_with_data!(id - .try_into() - .map_err(|_| QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string() - ))); - let response_data = if prove { - let proof = self.drive.prove_contract( - contract_id.into_buffer(), - None, - platform_version, - )?; - - GetDataContractResponse { - result: Some(get_data_contract_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - let maybe_data_contract_fetch_info = self - .drive - .fetch_contract( - contract_id.into_buffer(), - None, - None, - None, - platform_version, - ) - .unwrap()?; - - let data_contract_fetch_info = - check_validation_result_with_data!(maybe_data_contract_fetch_info - .ok_or_else(|| { - QueryError::NotFound(format!( - "data contract {} not found", - contract_id - )) - })); - - let serialized_data_contract = data_contract_fetch_info - .contract - .serialize_to_bytes_with_platform_version(platform_version) - .map_err(Error::Protocol)?; - - GetDataContractResponse { - result: Some(get_data_contract_response::Result::DataContract( - serialized_data_contract, - )), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) + "/identity/keys" => self.query_keys(&state, query_data, platform_version), + "/identity/by-public-key-hash" => { + self.query_identity_by_public_key_hash(&state, query_data, platform_version) } - "/dataContracts" => { - let GetDataContractsRequest { ids, prove } = - check_validation_result_with_data!(GetDataContractsRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - - let contract_ids = check_validation_result_with_data!(ids - .into_iter() - .map(|contract_id_vec| { - Bytes32::from_vec(contract_id_vec) - .map(|bytes| bytes.0) - .map_err(|_| { - QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string(), - ) - }) - }) - .collect::, QueryError>>()); - - let response_data = if prove { - let proof = self.drive.prove_contracts( - contract_ids.as_slice(), - None, - platform_version, - )?; - GetDataContractsResponse { - metadata: Some(metadata), - result: Some(get_data_contracts_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - } - .encode_to_vec() - } else { - let contracts = self.drive.get_contracts_with_fetch_info( - contract_ids.as_slice(), - false, - None, - platform_version, - )?; - - let contracts = contracts - .into_iter() - .map(|(key, maybe_contract)| { - Ok::( - get_data_contracts_response::DataContractEntry { - key: key.to_vec(), - value: maybe_contract - .map(|contract| { - Ok::< - get_data_contracts_response::DataContractValue, - ProtocolError, - >( - get_data_contracts_response::DataContractValue { - value: contract - .contract - .serialize_to_bytes_with_platform_version( - platform_version, - )?, - }, - ) - }) - .transpose()?, - }, - ) - }) - .collect::, ProtocolError>>()?; - - GetDataContractsResponse { - result: Some(get_data_contracts_response::Result::DataContracts( - get_data_contracts_response::DataContracts { - data_contract_entries: contracts, - }, - )), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) + "/identities/by-public-key-hash" => { + self.query_identities_by_public_key_hashes(&state, query_data, platform_version) } + "/dataContract" => self.query_data_contract(&state, query_data, platform_version), + "/dataContracts" => self.query_data_contracts(&state, query_data, platform_version), "/dataContractHistory" => { - let GetDataContractHistoryRequest { - id, - limit, - offset, - start_at_ms, - prove, - } = check_validation_result_with_data!(GetDataContractHistoryRequest::decode( - query_data - ) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - let contract_id: Identifier = check_validation_result_with_data!(id - .try_into() - .map_err(|_| QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string() - ))); - - // TODO: make a cast safe - let limit = check_validation_result_with_data!(limit - .map(|limit| { - u16::try_from(limit).map_err(|_| { - QueryError::InvalidArgument( - "can't fit u16 limit from the supplied value".to_string(), - ) - }) - }) - .transpose()); - - let offset = check_validation_result_with_data!(offset - .map(|offset| { - u16::try_from(offset).map_err(|_| { - QueryError::InvalidArgument( - "can't fit u16 offset from the supplied value".to_string(), - ) - }) - }) - .transpose()); - - let response_data = if prove { - let proof = self.drive.prove_contract_history( - contract_id.to_buffer(), - None, - start_at_ms, - limit, - offset, - platform_version, - )?; - - GetDataContractHistoryResponse { - metadata: Some(metadata), - result: Some(get_data_contract_history_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - } - .encode_to_vec() - } else { - let contracts = self.drive.fetch_contract_with_history( - contract_id.to_buffer(), - None, - start_at_ms, - limit, - offset, - platform_version, - )?; - - if contracts.is_empty() { - return Ok(QueryValidationResult::new_with_error(QueryError::NotFound( - format!("data contract {} history not found", contract_id), - ))); - } - - let contract_historical_entries: Vec = contracts - .into_iter() - .map(|(date_in_seconds, data_contract)| { - Ok::< - get_data_contract_history_response::DataContractHistoryEntry, - ProtocolError, - >( - get_data_contract_history_response::DataContractHistoryEntry { - date: date_in_seconds, - value: data_contract.serialize_to_bytes_with_platform_version( - platform_version, - )?, - }, - ) - }) - .collect::, ProtocolError>>()?; - - GetDataContractHistoryResponse { - result: Some( - get_data_contract_history_response::Result::DataContractHistory( - get_data_contract_history_response::DataContractHistory { - data_contract_entries: contract_historical_entries, - }, - ), - ), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) + self.query_data_contract_history(&state, query_data, platform_version) } "/documents" | "/dataContract/documents" => { - let GetDocumentsRequest { - data_contract_id, - document_type: document_type_name, - r#where, - order_by, - limit, - prove, - start, - } = check_validation_result_with_data!(GetDocumentsRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - - let contract_id: Identifier = check_validation_result_with_data!(data_contract_id - .try_into() - .map_err(|_| QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string() - ))); - - let (_, contract) = self.drive.get_contract_with_fetch_info_and_fee( - contract_id.to_buffer(), - None, - true, - None, - platform_version, - )?; - - let contract = check_validation_result_with_data!(contract.ok_or( - QueryError::NotFound(format!("data contract {} not found", contract_id)) - )); - - let contract_ref = &contract.contract; - - let document_type = check_validation_result_with_data!(contract_ref - .document_type_for_name(document_type_name.as_str()) - .map_err(|_| QueryError::InvalidArgument(format!( - "document type {} not found for contract {}", - document_type_name, contract_id - )))); - - let where_clause = if r#where.is_empty() { - Value::Null - } else { - check_validation_result_with_data!(ciborium::de::from_reader( - r#where.as_slice() - ) - .map_err(|_| { - QueryError::Query(QuerySyntaxError::DeserializationError( - "unable to decode 'where' query from cbor".to_string(), - )) - })) - }; - - let order_by = if !order_by.is_empty() { - check_validation_result_with_data!(ciborium::de::from_reader( - order_by.as_slice() - ) - .map_err(|_| { - QueryError::Query(QuerySyntaxError::DeserializationError( - "unable to decode 'order_by' query from cbor".to_string(), - )) - })) - } else { - None - }; - - let (start_at_included, start_at) = if let Some(start) = start { - match start { - Start::StartAfter(after) => ( - false, - Some(check_validation_result_with_data!(after - .try_into() - .map_err(|_| QueryError::Query( - QuerySyntaxError::InvalidStartsWithClause( - "start after should be a 32 byte identifier", - ) - )))), - ), - Start::StartAt(at) => ( - true, - Some(check_validation_result_with_data!(at.try_into().map_err( - |_| QueryError::Query(QuerySyntaxError::InvalidStartsWithClause( - "start at should be a 32 byte identifier", - )) - ))), - ), - } - } else { - (true, None) - }; - - if limit > u16::MAX as u32 { - return Ok(QueryValidationResult::new_with_error(QueryError::Query( - QuerySyntaxError::InvalidLimit(format!("limit {} out of bounds", limit)), - ))); - } - - let drive_query = DriveQuery::from_decomposed_values( - where_clause, - order_by, - Some(if limit == 0 { - self.config.drive.default_query_limit - } else { - limit as u16 - }), - start_at, - start_at_included, - None, - contract_ref, - document_type, - &self.config.drive, - )?; - - let response_data = if prove { - let (proof, _) = drive_query.execute_with_proof( - &self.drive, - None, - None, - platform_version, - )?; - - GetDocumentsResponse { - result: Some(get_documents_response::Result::Proof(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - })), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - let results = drive_query - .execute_raw_results_no_proof(&self.drive, None, None, platform_version)? - .0; - GetDocumentsResponse { - result: Some(get_documents_response::Result::Documents( - get_documents_response::Documents { documents: results }, - )), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) - } - "/identity/by-public-key-hash" => { - let GetIdentityByPublicKeyHashesRequest { - public_key_hash, - prove, - } = check_validation_result_with_data!( - GetIdentityByPublicKeyHashesRequest::decode(query_data).map_err(|e| { - QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) - }) - ); - let public_key_hash = - check_validation_result_with_data!(Bytes20::from_vec(public_key_hash) - .map(|bytes| bytes.0) - .map_err(|_| QueryError::InvalidArgument( - "public key hash must be 20 bytes long".to_string() - ))); - - let response_data = if prove { - let proof = self.drive.prove_full_identity_by_unique_public_key_hash( - public_key_hash, - None, - platform_version, - )?; - - GetIdentityByPublicKeyHashesResponse { - metadata: Some(metadata), - result: Some(get_identity_by_public_key_hashes_response::Result::Proof( - Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - }, - )), - } - .encode_to_vec() - } else { - let fetch_result = self.drive.fetch_full_identity_by_unique_public_key_hash( - public_key_hash, - None, - platform_version, - ); - - let maybe_identity = if let Err(err) = fetch_result { - match err { - drive::error::Error::GroveDB( - drive::grovedb::error::Error::PathKeyNotFound(_), - ) => None, - _ => return Err(Error::Drive(err)), - } - } else { - fetch_result.unwrap() - }; - - let identity = - check_validation_result_with_data!(maybe_identity.ok_or_else(|| { - QueryError::NotFound(format!( - "identity for public key hash {} not found", - hex::encode(public_key_hash) - )) - })); - - let serialized_identity = identity - .serialize_consume_to_bytes() - .map_err(Error::Protocol)?; - - GetIdentityByPublicKeyHashesResponse { - metadata: Some(metadata), - result: Some( - get_identity_by_public_key_hashes_response::Result::Identity( - serialized_identity, - ), - ), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) - } - "/identities/by-public-key-hash" => { - let GetIdentitiesByPublicKeyHashesRequest { - public_key_hashes, - prove, - } = check_validation_result_with_data!( - GetIdentitiesByPublicKeyHashesRequest::decode(query_data).map_err(|e| { - QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) - }) - ); - - let public_key_hashes = check_validation_result_with_data!(public_key_hashes - .into_iter() - .map(|pub_key_hash_vec| { - Bytes20::from_vec(pub_key_hash_vec) - .map(|bytes| bytes.0) - .map_err(|_| { - QueryError::InvalidArgument( - "public key hash must be 20 bytes long".to_string(), - ) - }) - }) - .collect::, QueryError>>()); - - let response_data = if prove { - let proof = self - .drive - .prove_full_identities_by_unique_public_key_hashes( - &public_key_hashes, - None, - platform_version, - )?; - - GetIdentitiesByPublicKeyHashesResponse { - result: Some(get_identities_by_public_key_hashes_response::Result::Proof( - Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - }, - )), - metadata: Some(metadata), - } - .encode_to_vec() - } else { - //todo: fix this so we return optionals - let identities = self - .drive - .fetch_full_identities_by_unique_public_key_hashes( - public_key_hashes.as_slice(), - None, - platform_version, - )?; - - let serialized_identities = identities - .into_values() - .filter_map(|maybe_identity| { - Some(maybe_identity?.serialize_consume_to_bytes()) - }) - .collect::>, ProtocolError>>()?; - - GetIdentitiesByPublicKeyHashesResponse { - result: Some( - get_identities_by_public_key_hashes_response::Result::Identities( - get_identities_by_public_key_hashes_response::Identities { - identities: serialized_identities, - }, - ), - ), - metadata: Some(metadata), - } - .encode_to_vec() - }; - Ok(QueryValidationResult::new_with_data(response_data)) - } - "/proofs" => { - let GetProofsRequest { - identities, - contracts, - documents, - } = check_validation_result_with_data!(GetProofsRequest::decode(query_data) - .map_err(|e| QueryError::InvalidArgument(format!( - "invalid query proto message: {}", - e - )))); - - let contract_ids = check_validation_result_with_data!(contracts - .into_iter() - .map(|contract_request| { - Bytes32::from_vec(contract_request.contract_id) - .map(|bytes| bytes.0) - .map_err(|_| { - QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string(), - ) - }) - }) - .collect::, QueryError>>()); - - let identity_requests = check_validation_result_with_data!(identities - .into_iter() - .map(|identity_request| { - Ok(IdentityDriveQuery { - identity_id: Bytes32::from_vec(identity_request.identity_id) - .map(|bytes| bytes.0) - .map_err(|_| { - QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string(), - ) - })?, - prove_request_type: IdentityProveRequestType::try_from( - identity_request.request_type as u8, - ) - .map_err(|_| { - QueryError::InvalidArgument( - format!( - "invalid prove request type '{}'", - identity_request.request_type - ) - .to_string(), - ) - })?, - }) - }) - .collect::, QueryError>>()); - - let document_queries = check_validation_result_with_data!(documents - .into_iter() - .map(|document_proof_request| { - let contract_id: Identifier = - document_proof_request.contract_id.try_into().map_err(|_| { - QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string(), - ) - })?; - let document_id: Identifier = - document_proof_request.document_id.try_into().map_err(|_| { - QueryError::InvalidArgument( - "id must be a valid identifier (32 bytes long)".to_string(), - ) - })?; - - Ok(SingleDocumentDriveQuery { - contract_id: contract_id.into_buffer(), - document_type_name: document_proof_request.document_type, - document_type_keeps_history: document_proof_request - .document_type_keeps_history, - document_id: document_id.into_buffer(), - block_time_ms: None, //None because we want latest - }) - }) - .collect::, QueryError>>()); - - let proof = self.drive.prove_multiple( - &identity_requests, - &contract_ids, - &document_queries, - None, - platform_version, - )?; - - let response_data = GetProofsResponse { - proof: Some(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - }), - metadata: Some(metadata), - } - .encode_to_vec(); - - Ok(QueryValidationResult::new_with_data(response_data)) + self.query_documents(&state, query_data, platform_version) } + "/proofs" => self.query_proofs(&state, query_data, platform_version), other => Ok(QueryValidationResult::new_with_error( QueryError::InvalidArgument(format!("query path '{}' is not supported", other)), )), @@ -1158,12 +49,11 @@ impl Platform { #[cfg(test)] mod test { pub mod query_data_contract_history { - use crate::error::Error; use crate::rpc::core::MockCoreRPCLike; use crate::test::helpers::setup::{TempPlatform, TestPlatformBuilder}; use dapi_grpc::platform::v0::{ - get_data_contract_history_response, GetDataContractHistoryRequest, - GetDataContractHistoryResponse, + get_data_contract_history_request, get_data_contract_history_response, + GetDataContractHistoryRequest, GetDataContractHistoryResponse, }; use dpp::block::block_info::BlockInfo; @@ -1172,6 +62,10 @@ mod test { use dpp::data_contract::config::v0::DataContractConfigSettersV0; use crate::error::query::QueryError; + use dapi_grpc::platform::v0::get_data_contract_history_request::GetDataContractHistoryRequestV0; + use dapi_grpc::platform::v0::get_data_contract_history_response::{ + get_data_contract_history_response_v0, GetDataContractHistoryResponseV0, + }; use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; use dpp::data_contract::schema::DataContractSchemaMethodsV0; use dpp::data_contract::DataContract; @@ -1183,8 +77,8 @@ mod test { use drive::drive::Drive; use prost::Message; - fn default_request() -> GetDataContractHistoryRequest { - GetDataContractHistoryRequest { + fn default_request_v0() -> GetDataContractHistoryRequestV0 { + GetDataContractHistoryRequestV0 { id: vec![1; 32], limit: Some(10), offset: Some(0), @@ -1298,8 +192,12 @@ mod test { } = set_up_test(); let request = GetDataContractHistoryRequest { - id: original_data_contract.id().to_vec(), - ..default_request() + version: Some(get_data_contract_history_request::Version::V0( + GetDataContractHistoryRequestV0 { + id: original_data_contract.id().to_vec(), + ..default_request_v0() + }, + )), }; let request_data = request.encode_to_vec(); @@ -1321,17 +219,20 @@ mod test { let response = GetDataContractHistoryResponse::decode(data.as_slice()) .expect("To decode response"); - let GetDataContractHistoryResponse { - metadata: _, + let GetDataContractHistoryResponse { version } = response; + + let get_data_contract_history_response::Version::V0(GetDataContractHistoryResponseV0 { result, - } = response; + metadata: _, + }) = version.expect("expected a versioned response"); + let res = result.expect("expect result to be returned from the query"); let contract_history = match res { - get_data_contract_history_response::Result::DataContractHistory( + get_data_contract_history_response_v0::Result::DataContractHistory( data_contract_history, ) => data_contract_history, - get_data_contract_history_response::Result::Proof(_) => { + get_data_contract_history_response_v0::Result::Proof(_) => { panic!("expect result to be DataContractHistory"); } }; @@ -1381,11 +282,18 @@ mod test { original_data_contract, } = set_up_test(); - let request = GetDataContractHistoryRequest { + let request_v0 = GetDataContractHistoryRequestV0 { id: original_data_contract.id().to_vec(), prove: true, - ..default_request() + ..default_request_v0() }; + + let start_at_ms = request_v0.start_at_ms; + + let request = GetDataContractHistoryRequest { + version: Some(get_data_contract_history_request::Version::V0(request_v0)), + }; + let request_data = request.encode_to_vec(); let result = platform @@ -1405,24 +313,27 @@ mod test { let response = GetDataContractHistoryResponse::decode(data.as_slice()) .expect("To decode response"); - let GetDataContractHistoryResponse { - metadata: _, + let GetDataContractHistoryResponse { version } = response; + + let get_data_contract_history_response::Version::V0(GetDataContractHistoryResponseV0 { result, - } = response; + metadata: _, + }) = version.expect("expected a versioned response"); + let res = result.expect("expect result to be returned from the query"); let contract_proof = match res { - get_data_contract_history_response::Result::DataContractHistory(_) => { + get_data_contract_history_response_v0::Result::DataContractHistory(_) => { panic!("expect result to be Proof"); } - get_data_contract_history_response::Result::Proof(proof) => proof, + get_data_contract_history_response_v0::Result::Proof(proof) => proof, }; // Check that the proof has correct values inside let (_root_hash, contract_history) = Drive::verify_contract_history( &contract_proof.grovedb_proof, original_data_contract.id().to_buffer(), - request.start_at_ms, + start_at_ms, Some(10), Some(0), platform_version, @@ -1461,26 +372,34 @@ mod test { } = set_up_test(); let request = GetDataContractHistoryRequest { - id: original_data_contract.id().to_vec(), - limit: Some(100000), - ..default_request() + version: Some(get_data_contract_history_request::Version::V0( + GetDataContractHistoryRequestV0 { + id: original_data_contract.id().to_vec(), + limit: Some(100000), + ..default_request_v0() + }, + )), }; + let request_data = request.encode_to_vec(); let validation_result = platform .query_v0("/dataContractHistory", &request_data, platform_version) .expect("To return validation result with an error"); + assert!(!validation_result.is_valid()); + let error = validation_result - .first_error() + .errors + .first() .expect("expect error to exist"); - match error { - QueryError::InvalidArgument(error_message) => { - assert_eq!(error_message, "can't fit u16 limit from the supplied value"); - } - _ => panic!("expect query error"), - } + assert!(matches!(error, QueryError::InvalidArgument(_))); + + assert_eq!( + error.to_string(), + "invalid argument error: limit out of bounds" + ); } #[test] @@ -1493,29 +412,34 @@ mod test { } = set_up_test(); let request = GetDataContractHistoryRequest { - id: original_data_contract.id().to_vec(), - offset: Some(100000), - ..default_request() + version: Some(get_data_contract_history_request::Version::V0( + GetDataContractHistoryRequestV0 { + id: original_data_contract.id().to_vec(), + offset: Some(100000), + ..default_request_v0() + }, + )), }; + let request_data = request.encode_to_vec(); let validation_result = platform .query_v0("/dataContractHistory", &request_data, platform_version) .expect("To return validation result with an error"); + assert!(!validation_result.is_valid()); + let error = validation_result - .first_error() + .errors + .first() .expect("expect error to exist"); - match error { - QueryError::InvalidArgument(error_message) => { - assert_eq!( - error_message, - "can't fit u16 offset from the supplied value" - ); - } - _ => panic!("expect query error"), - } + assert!(matches!(error, QueryError::InvalidArgument(_))); + + assert_eq!( + error.to_string(), + "invalid argument error: offset out of bounds" + ); } } } diff --git a/packages/rs-drive-abci/tests/strategy_tests/failures.rs b/packages/rs-drive-abci/tests/strategy_tests/failures.rs index 7e18a59359..c3f1c136cc 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/failures.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/failures.rs @@ -18,8 +18,8 @@ mod tests { use dpp::identity::accessors::IdentityGettersV0; use dpp::platform_value::Value; use dpp::prelude::{Identifier, Identity}; + use dpp::version::PlatformVersion; use drive_abci::test::helpers::setup::TestPlatformBuilder; - use platform_version::version::PlatformVersion; use simple_signer::signer::SimpleSigner; use strategy_tests::operations::{DocumentAction, DocumentOp, Operation, OperationType}; use tenderdash_abci::proto::types::CoreChainLock; diff --git a/packages/rs-drive-abci/tests/strategy_tests/query.rs b/packages/rs-drive-abci/tests/strategy_tests/query.rs index 9f4ca8f43a..104b4c7eb4 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/query.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/query.rs @@ -1,7 +1,9 @@ use crate::strategy::StrategyRandomness; +use dapi_grpc::platform::v0::get_identities_by_public_key_hashes_request::GetIdentitiesByPublicKeyHashesRequestV0; +use dapi_grpc::platform::v0::get_identities_by_public_key_hashes_response::PublicKeyHashIdentityEntry; use dapi_grpc::platform::v0::{ - get_identities_by_public_key_hashes_response, GetIdentitiesByPublicKeyHashesRequest, - GetIdentitiesByPublicKeyHashesResponse, Proof, + get_identities_by_public_key_hashes_request, get_identities_by_public_key_hashes_response, + GetIdentitiesByPublicKeyHashesRequest, GetIdentitiesByPublicKeyHashesResponse, Proof, }; use dashcore_rpc::dashcore_rpc_json::QuorumType; use dpp::identity::accessors::IdentityGettersV0; @@ -227,8 +229,15 @@ impl QueryStrategy { let prove: bool = rng.gen(); let request = GetIdentitiesByPublicKeyHashesRequest { - public_key_hashes: public_key_hashes.keys().map(|hash| hash.to_vec()).collect(), - prove, + version: Some(get_identities_by_public_key_hashes_request::Version::V0( + GetIdentitiesByPublicKeyHashesRequestV0 { + public_key_hashes: public_key_hashes + .keys() + .map(|hash| hash.to_vec()) + .collect(), + prove, + }, + )), }; let encoded_request = request.encode_to_vec(); let query_validation_result = abci_app @@ -252,9 +261,13 @@ impl QueryStrategy { let response = GetIdentitiesByPublicKeyHashesResponse::decode(query_data.as_slice()) .expect("expected to deserialize"); - let result = response.result.expect("expect to receive proof back"); - match result { - get_identities_by_public_key_hashes_response::Result::Proof(proof) => { + let versioned_result = response.version.expect("expected a result"); + match versioned_result { + get_identities_by_public_key_hashes_response::Version::V0(v0) => { + let result = v0.result.expect("expected a result"); + + match result { + get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Proof(proof) => { let (proof_root_hash, identities): ( RootHash, HashMap<[u8; 20], Option>, @@ -284,12 +297,13 @@ impl QueryStrategy { .is_valid()); assert_eq!(identities, public_key_hashes); } - get_identities_by_public_key_hashes_response::Result::Identities(data) => { + get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Identities(data) => { let identities_returned = data - .identities + .identity_entries .into_iter() - .map(|serialized| { - Identity::deserialize_from_bytes(&serialized) + .map(|entry| { + let PublicKeyHashIdentityEntry{ value, .. } = entry; + Identity::deserialize_from_bytes(&value.expect("expected a value")) .expect("expected to deserialize identity") .id() }) @@ -303,6 +317,8 @@ impl QueryStrategy { ); } } + } + } } } } diff --git a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs index 23d53c79c5..b1befcf3a5 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs @@ -1,4 +1,6 @@ -use dapi_grpc::platform::v0::{get_proofs_request, GetProofsRequest, GetProofsResponse}; +use dapi_grpc::platform::v0::{ + get_proofs_request, get_proofs_response, GetProofsRequest, GetProofsResponse, +}; use dpp::document::Document; use dpp::identity::PartialIdentity; @@ -9,6 +11,8 @@ use drive_abci::abci::AbciApplication; use drive_abci::platform_types::platform::PlatformRef; use drive_abci::rpc::core::MockCoreRPCLike; +use dapi_grpc::platform::v0::get_proofs_request::{get_proofs_request_v0, GetProofsRequestV0}; +use dapi_grpc::platform::v0::get_proofs_response::GetProofsResponseV0; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::version::PlatformVersion; use drive::state_transition_action::document::documents_batch::document_transition::DocumentTransitionAction; @@ -75,7 +79,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .collect::>(); for (action, was_executed) in &actions { - let mut proofs_request = GetProofsRequest { + let mut proofs_request = GetProofsRequestV0 { identities: vec![], contracts: vec![], documents: vec![], @@ -85,20 +89,30 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( StateTransitionAction::DataContractCreateAction(data_contract_create) => { proofs_request .contracts - .push(get_proofs_request::ContractRequest { + .push(get_proofs_request_v0::ContractRequest { contract_id: data_contract_create.data_contract_ref().id().to_vec(), }); + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -131,20 +145,30 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( StateTransitionAction::DataContractUpdateAction(data_contract_update) => { proofs_request .contracts - .push(get_proofs_request::ContractRequest { + .push(get_proofs_request_v0::ContractRequest { contract_id: data_contract_update.data_contract_ref().id().to_vec(), }); + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -183,7 +207,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .for_each(|transition| { proofs_request .documents - .push(get_proofs_request::DocumentRequest { + .push(get_proofs_request_v0::DocumentRequest { contract_id: transition.base().data_contract_id().to_vec(), document_type: transition.base().document_type_name().clone(), document_type_keeps_history: transition @@ -198,17 +222,27 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( document_id: transition.base().id().to_vec(), }); }); + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); for document_transition_action in documents_batch_transition.transitions().iter() { @@ -331,22 +365,32 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( StateTransitionAction::IdentityCreateAction(identity_create_transition) => { proofs_request .identities - .push(get_proofs_request::IdentityRequest { + .push(get_proofs_request_v0::IdentityRequest { identity_id: identity_create_transition.identity_id().to_vec(), - request_type: get_proofs_request::identity_request::Type::FullIdentity + request_type: get_proofs_request_v0::identity_request::Type::FullIdentity .into(), }); + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -389,21 +433,31 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( StateTransitionAction::IdentityTopUpAction(identity_top_up_transition) => { proofs_request .identities - .push(get_proofs_request::IdentityRequest { + .push(get_proofs_request_v0::IdentityRequest { identity_id: identity_top_up_transition.identity_id().to_vec(), - request_type: get_proofs_request::identity_request::Type::Balance.into(), + request_type: get_proofs_request_v0::identity_request::Type::Balance.into(), }); + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -433,9 +487,9 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( ) => { proofs_request .identities - .push(get_proofs_request::IdentityRequest { + .push(get_proofs_request_v0::IdentityRequest { identity_id: identity_credit_withdrawal_transition.identity_id().to_vec(), - request_type: get_proofs_request::identity_request::Type::Balance.into(), + request_type: get_proofs_request_v0::identity_request::Type::Balance.into(), }); //todo: we should also verify the document // proofs_request.documents.push(get_proofs_request::DocumentProofRequest { @@ -446,18 +500,28 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( // } ); // we expect to get an identity that matches the state transition + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -483,21 +547,31 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( StateTransitionAction::IdentityUpdateAction(identity_update_transition) => { proofs_request .identities - .push(get_proofs_request::IdentityRequest { + .push(get_proofs_request_v0::IdentityRequest { identity_id: identity_update_transition.identity_id().to_vec(), - request_type: get_proofs_request::identity_request::Type::Keys.into(), + request_type: get_proofs_request_v0::identity_request::Type::Keys.into(), }); + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -532,29 +606,40 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( ) => { proofs_request .identities - .push(get_proofs_request::IdentityRequest { + .push(get_proofs_request_v0::IdentityRequest { identity_id: identity_credit_transfer_action.identity_id().to_vec(), - request_type: get_proofs_request::identity_request::Type::Balance.into(), + request_type: get_proofs_request_v0::identity_request::Type::Balance.into(), }); proofs_request .identities - .push(get_proofs_request::IdentityRequest { + .push(get_proofs_request_v0::IdentityRequest { identity_id: identity_credit_transfer_action.recipient_id().to_vec(), - request_type: get_proofs_request::identity_request::Type::Balance.into(), + request_type: get_proofs_request_v0::identity_request::Type::Balance.into(), }); + let versioned_request = GetProofsRequest { + version: Some(get_proofs_request::Version::V0(proofs_request)), + }; + let result = abci_app .platform - .query("/proofs", &proofs_request.encode_to_vec(), platform_version) + .query( + "/proofs", + &versioned_request.encode_to_vec(), + platform_version, + ) .expect("expected to query proofs"); let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { proof, metadata: _ } = + let GetProofsResponse { version } = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response"); + let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = + version.expect("expected a versioned response"); + let response_proof = proof.expect("proof should be present"); // we expect to get an identity that matches the state transition diff --git a/packages/rs-drive/Cargo.toml b/packages/rs-drive/Cargo.toml index 7455e97566..a84187536a 100644 --- a/packages/rs-drive/Cargo.toml +++ b/packages/rs-drive/Cargo.toml @@ -44,10 +44,10 @@ rust_decimal = { version = "1.2.5", optional = true } rust_decimal_macros = { version = "1.25.0", optional = true } lazy_static = { version = "1.4.0", optional = true } mockall = { version = "0.11", optional = true } -grovedb = { git = "https://github.com/dashpay/grovedb", rev = "63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d", optional = true } -grovedb-costs = { git = "https://github.com/dashpay/grovedb", rev = "63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d", optional = true } -grovedb-path = { git = "https://github.com/dashpay/grovedb", rev = "63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d" } -grovedb-storage = { git = "https://github.com/dashpay/grovedb", rev = "63b4ff1df767cabd92c4ad13a6f2ef87a1299a7d", optional = true } +grovedb = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953", optional = true } +grovedb-costs = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953", optional = true } +grovedb-path = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953" } +grovedb-storage = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953", optional = true } [dev-dependencies] criterion = "0.3.5" diff --git a/packages/rs-drive/src/drive/contract/prove/prove_contract/v0/mod.rs b/packages/rs-drive/src/drive/contract/prove/prove_contract/v0/mod.rs index 51b042ac6e..ce7cd0f1c6 100644 --- a/packages/rs-drive/src/drive/contract/prove/prove_contract/v0/mod.rs +++ b/packages/rs-drive/src/drive/contract/prove/prove_contract/v0/mod.rs @@ -48,8 +48,8 @@ impl Drive { ); match result { Ok(_) => Ok(contract_proof), - Err(Error::GroveDB(grovedb::Error::WrongElementType(s))) if s == "expected an item" => { - // In this case we are trying to prove a historical type contract + Err(Error::GroveDB(grovedb::Error::WrongElementType(_))) => { + // In this case we are trying to prove a historical type contract we would have a tree instead let contract_query = Self::fetch_contract_with_history_latest_query(contract_id); let historical_contract_proof = self.grove_get_proved_path_query( &contract_query, @@ -58,16 +58,16 @@ impl Drive { &mut vec![], &platform_version.drive, )?; - let (_, proof_returned_historical_contract) = Drive::verify_contract( + if let Ok(Some(_)) = Drive::verify_contract( historical_contract_proof.as_slice(), Some(true), false, contract_id, platform_version, ) - .expect("expected to get contract from proof"); - // Only return the historical proof if an element was found - if proof_returned_historical_contract.is_some() { + .map(|(_, proof_returned_historical_contract)| proof_returned_historical_contract) + { + // Only return the historical proof if an element was found Ok(historical_contract_proof) } else { Ok(contract_proof) diff --git a/packages/rs-drive/src/drive/identity/fetch/fetch_by_public_key_hashes/fetch_identity_id_by_unique_public_key_hash/v0/mod.rs b/packages/rs-drive/src/drive/identity/fetch/fetch_by_public_key_hashes/fetch_identity_id_by_unique_public_key_hash/v0/mod.rs index ef561461ce..31e745dfdd 100644 --- a/packages/rs-drive/src/drive/identity/fetch/fetch_by_public_key_hashes/fetch_identity_id_by_unique_public_key_hash/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/fetch_by_public_key_hashes/fetch_identity_id_by_unique_public_key_hash/v0/mod.rs @@ -34,7 +34,7 @@ impl Drive { platform_version: &PlatformVersion, ) -> Result, Error> { let unique_key_hashes = unique_key_hashes_tree_path(); - match self.grove_get_raw( + match self.grove_get_raw_optional( (&unique_key_hashes).into(), public_key_hash.as_slice(), StatefulDirectQuery, diff --git a/packages/rs-platform-version/src/version/drive_abci_versions.rs b/packages/rs-platform-version/src/version/drive_abci_versions.rs index be8c842e48..8f0a6b67d9 100644 --- a/packages/rs-platform-version/src/version/drive_abci_versions.rs +++ b/packages/rs-platform-version/src/version/drive_abci_versions.rs @@ -1,13 +1,42 @@ -use crate::version::{FeatureVersion, OptionalFeatureVersion}; +use crate::version::{FeatureVersion, FeatureVersionBounds, OptionalFeatureVersion}; -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciVersion { pub structs: DriveAbciStructureVersions, pub methods: DriveAbciMethodVersions, pub validation_and_processing: DriveAbciValidationVersions, + pub query: DriveAbciQueryVersions, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] +pub struct DriveAbciQueryVersions { + pub response_metadata: FeatureVersion, + pub base_query_structure: FeatureVersion, + pub proofs_query: FeatureVersionBounds, + pub document_query: FeatureVersionBounds, + pub identity_based_queries: DriveAbciQueryIdentityVersions, + pub data_contract_based_queries: DriveAbciQueryDataContractVersions, +} + +#[derive(Clone, Debug, Default)] +pub struct DriveAbciQueryIdentityVersions { + pub identity: FeatureVersionBounds, + pub identities: FeatureVersionBounds, + pub keys: FeatureVersionBounds, + pub balance: FeatureVersionBounds, + pub balance_and_revision: FeatureVersionBounds, + pub identity_by_public_key_hash: FeatureVersionBounds, + pub identities_by_public_key_hashes: FeatureVersionBounds, +} + +#[derive(Clone, Debug, Default)] +pub struct DriveAbciQueryDataContractVersions { + pub data_contract: FeatureVersionBounds, + pub data_contract_history: FeatureVersionBounds, + pub data_contracts: FeatureVersionBounds, +} + +#[derive(Clone, Debug, Default)] pub struct DriveAbciStructureVersions { pub platform_state_structure: FeatureVersion, pub platform_state_for_saving_structure: FeatureVersion, @@ -16,7 +45,7 @@ pub struct DriveAbciStructureVersions { pub masternode: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciMethodVersions { pub engine: DriveAbciEngineMethodVersions, pub initialization: DriveAbciInitializationMethodVersions, @@ -34,13 +63,13 @@ pub struct DriveAbciMethodVersions { pub block_end: DriveAbciBlockEndMethodVersions, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciValidationVersions { pub state_transitions: DriveAbciStateTransitionValidationVersions, pub process_state_transition: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciDocumentsStateTransitionValidationVersions { pub structure: FeatureVersion, pub state: FeatureVersion, @@ -54,13 +83,13 @@ pub struct DriveAbciDocumentsStateTransitionValidationVersions { pub document_replace_transition_state_validation: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciValidationDataTriggerAndBindingVersions { pub bindings: FeatureVersion, pub triggers: DriveAbciValidationDataTriggerVersions, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciValidationDataTriggerVersions { pub create_contact_request_data_trigger: FeatureVersion, pub create_domain_data_trigger: FeatureVersion, @@ -71,7 +100,7 @@ pub struct DriveAbciValidationDataTriggerVersions { pub reject_data_trigger: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciStateTransitionValidationVersion { pub structure: FeatureVersion, pub identity_signatures: OptionalFeatureVersion, @@ -79,7 +108,7 @@ pub struct DriveAbciStateTransitionValidationVersion { pub transform_into_action: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciStateTransitionValidationVersions { pub common_validation_methods: DriveAbciStateTransitionCommonValidationVersions, pub identity_create_state_transition: DriveAbciStateTransitionValidationVersion, @@ -92,7 +121,7 @@ pub struct DriveAbciStateTransitionValidationVersions { pub documents_batch_state_transition: DriveAbciDocumentsStateTransitionValidationVersions, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciStateTransitionCommonValidationVersions { pub validate_identity_public_key_contract_bounds: FeatureVersion, pub validate_identity_public_key_ids_dont_exist_in_state: FeatureVersion, @@ -101,7 +130,7 @@ pub struct DriveAbciStateTransitionCommonValidationVersions { pub validate_unique_identity_public_key_hashes_in_state: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciEngineMethodVersions { pub init_chain: FeatureVersion, pub check_tx: FeatureVersion, @@ -109,7 +138,7 @@ pub struct DriveAbciEngineMethodVersions { pub finalize_block_proposal: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciCoreBasedUpdatesMethodVersions { pub update_core_info: FeatureVersion, pub update_masternode_list: FeatureVersion, @@ -117,7 +146,7 @@ pub struct DriveAbciCoreBasedUpdatesMethodVersions { pub masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciMasternodeIdentitiesUpdatesMethodVersions { pub get_voter_identity_key: FeatureVersion, pub get_operator_identity_keys: FeatureVersion, @@ -135,30 +164,30 @@ pub struct DriveAbciMasternodeIdentitiesUpdatesMethodVersions { pub update_voter_identity: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciInitializationMethodVersions { pub initial_core_height: FeatureVersion, pub create_genesis_state: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciBlockFeeProcessingMethodVersions { pub add_process_epoch_change_operations: FeatureVersion, pub process_block_fees: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciCoreSubsidyMethodVersions { pub epoch_core_reward_credits_for_distribution: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciFeePoolInwardsDistributionMethodVersions { pub add_distribute_block_fees_into_pools_operations: FeatureVersion, pub add_distribute_storage_fee_to_epochs_operations: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciFeePoolOutwardsDistributionMethodVersions { pub add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations: FeatureVersion, pub add_epoch_pool_to_proposers_payout_operations: FeatureVersion, @@ -166,18 +195,18 @@ pub struct DriveAbciFeePoolOutwardsDistributionMethodVersions { pub fetch_reward_shares_list_for_masternode: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciEpochMethodVersions { pub gather_epoch_info: FeatureVersion, pub get_genesis_time: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciBlockStartMethodVersions { pub clear_drive_block_cache: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciBlockEndMethodVersions { pub store_ephemeral_state: FeatureVersion, pub update_state_cache: FeatureVersion, @@ -185,7 +214,7 @@ pub struct DriveAbciBlockEndMethodVersions { pub validator_set_update: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciIdentityCreditWithdrawalMethodVersions { pub build_withdrawal_transactions_from_documents: FeatureVersion, pub fetch_and_prepare_unsigned_withdrawal_transactions: FeatureVersion, @@ -194,19 +223,19 @@ pub struct DriveAbciIdentityCreditWithdrawalMethodVersions { pub update_broadcasted_withdrawal_transaction_statuses: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciProtocolUpgradeMethodVersions { pub check_for_desired_protocol_upgrade: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciStateTransitionProcessingMethodVersions { pub execute_event: FeatureVersion, pub process_raw_state_transitions: FeatureVersion, pub validate_fees_of_event: FeatureVersion, } -#[derive(Clone, Copy, Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct DriveAbciWithdrawalsMethodVersions { pub check_withdrawals: FeatureVersion, } diff --git a/packages/rs-platform-version/src/version/mocks/v2_test.rs b/packages/rs-platform-version/src/version/mocks/v2_test.rs index e8404e1914..a318726dcb 100644 --- a/packages/rs-platform-version/src/version/mocks/v2_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v2_test.rs @@ -18,7 +18,9 @@ use crate::version::drive_abci_versions::{ DriveAbciFeePoolOutwardsDistributionMethodVersions, DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, - DriveAbciProtocolUpgradeMethodVersions, DriveAbciStateTransitionCommonValidationVersions, + DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, + DriveAbciQueryIdentityVersions, DriveAbciQueryVersions, + DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, DriveAbciValidationDataTriggerAndBindingVersions, DriveAbciValidationDataTriggerVersions, @@ -604,6 +606,74 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { }, process_state_transition: 0, }, + query: DriveAbciQueryVersions { + response_metadata: 0, + base_query_structure: 0, + proofs_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_based_queries: DriveAbciQueryIdentityVersions { + identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance_and_revision: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_by_public_key_hash: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_by_public_key_hashes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + data_contract_based_queries: DriveAbciQueryDataContractVersions { + data_contract: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contract_history: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contracts: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, }, dpp: DPPVersion { costs: CostVersions { diff --git a/packages/rs-platform-version/src/version/mocks/v3_test.rs b/packages/rs-platform-version/src/version/mocks/v3_test.rs index e73cb11487..33aa5d039e 100644 --- a/packages/rs-platform-version/src/version/mocks/v3_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v3_test.rs @@ -18,7 +18,9 @@ use crate::version::drive_abci_versions::{ DriveAbciFeePoolOutwardsDistributionMethodVersions, DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, - DriveAbciProtocolUpgradeMethodVersions, DriveAbciStateTransitionCommonValidationVersions, + DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, + DriveAbciQueryIdentityVersions, DriveAbciQueryVersions, + DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, DriveAbciValidationDataTriggerAndBindingVersions, DriveAbciValidationDataTriggerVersions, @@ -604,6 +606,74 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { }, process_state_transition: 0, }, + query: DriveAbciQueryVersions { + response_metadata: 0, + base_query_structure: 0, + proofs_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_based_queries: DriveAbciQueryIdentityVersions { + identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance_and_revision: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_by_public_key_hash: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_by_public_key_hashes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + data_contract_based_queries: DriveAbciQueryDataContractVersions { + data_contract: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contract_history: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contracts: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, }, dpp: DPPVersion { costs: CostVersions { diff --git a/packages/rs-platform-version/src/version/v1.rs b/packages/rs-platform-version/src/version/v1.rs index af1e957e76..4afd8c9a33 100644 --- a/packages/rs-platform-version/src/version/v1.rs +++ b/packages/rs-platform-version/src/version/v1.rs @@ -18,7 +18,9 @@ use crate::version::drive_abci_versions::{ DriveAbciFeePoolOutwardsDistributionMethodVersions, DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, - DriveAbciProtocolUpgradeMethodVersions, DriveAbciStateTransitionCommonValidationVersions, + DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, + DriveAbciQueryIdentityVersions, DriveAbciQueryVersions, + DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, DriveAbciValidationDataTriggerAndBindingVersions, DriveAbciValidationDataTriggerVersions, @@ -601,6 +603,74 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { }, process_state_transition: 0, }, + query: DriveAbciQueryVersions { + response_metadata: 0, + base_query_structure: 0, + proofs_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + document_query: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_based_queries: DriveAbciQueryIdentityVersions { + identity: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + keys: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + balance_and_revision: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identity_by_public_key_hash: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + identities_by_public_key_hashes: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + data_contract_based_queries: DriveAbciQueryDataContractVersions { + data_contract: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contract_history: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + data_contracts: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, + }, }, dpp: DPPVersion { costs: CostVersions { diff --git a/packages/wallet-lib/src/plugins/Workers/IdentitySyncWorker.js b/packages/wallet-lib/src/plugins/Workers/IdentitySyncWorker.js index de1fe6d262..2cc17bd830 100644 --- a/packages/wallet-lib/src/plugins/Workers/IdentitySyncWorker.js +++ b/packages/wallet-lib/src/plugins/Workers/IdentitySyncWorker.js @@ -68,6 +68,8 @@ class IdentitySyncWorker extends Worker { const { privateKey } = this.identities.getIdentityHDKeyByIndex(index, 0); const publicKey = privateKey.toPublicKey(); + // TODO: rework with singular `getIdentityByPublicKeyHash`? + // (needs to be implemented in the transport and dapi) // eslint-disable-next-line no-await-in-loop const identityBuffers = await this.transport.getIdentitiesByPublicKeyHashes( [publicKey.hash], @@ -75,7 +77,7 @@ class IdentitySyncWorker extends Worker { // if identity is not preset then increment gap count // and stop sync if gap limit is reached - if (identityBuffers.length === 0) { + if (!identityBuffers[0]) { gapCount += 1; if (gapCount >= this.gapLimit) { diff --git a/yarn.lock b/yarn.lock index 68444bc65a..885f6f005b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4685,7 +4685,7 @@ __metadata: languageName: node linkType: hard -"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": version: 4.1.0 resolution: "browserify-rsa@npm:4.1.0" dependencies: @@ -4695,20 +4695,20 @@ __metadata: languageName: node linkType: hard -"browserify-sign@npm:^4.0.0": - version: 4.2.1 - resolution: "browserify-sign@npm:4.2.1" +"browserify-sign@npm:4.2.2": + version: 4.2.2 + resolution: "browserify-sign@npm:4.2.2" dependencies: - bn.js: ^5.1.1 - browserify-rsa: ^4.0.1 + bn.js: ^5.2.1 + browserify-rsa: ^4.1.0 create-hash: ^1.2.0 create-hmac: ^1.1.7 - elliptic: ^6.5.3 + elliptic: ^6.5.4 inherits: ^2.0.4 - parse-asn1: ^5.1.5 - readable-stream: ^3.6.0 - safe-buffer: ^5.2.0 - checksum: 0221f190e3f5b2d40183fa51621be7e838d9caa329fe1ba773406b7637855f37b30f5d83e52ff8f244ed12ffe6278dd9983638609ed88c841ce547e603855707 + parse-asn1: ^5.1.6 + readable-stream: ^3.6.2 + safe-buffer: ^5.2.1 + checksum: b622730c0fc183328c3a1c9fdaaaa5118821ed6822b266fa6b0375db7e20061ebec87301d61931d79b9da9a96ada1cab317fce3c68f233e5e93ed02dbb35544c languageName: node linkType: hard @@ -11864,7 +11864,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5": +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.6": version: 5.1.6 resolution: "parse-asn1@npm:5.1.6" dependencies: @@ -12552,6 +12552,17 @@ fsevents@~2.3.2: languageName: node linkType: hard +"readable-stream@npm:^3.6.2": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d + languageName: node + linkType: hard + "readable-stream@npm:~1.0.2": version: 1.0.34 resolution: "readable-stream@npm:1.0.34" @@ -12956,7 +12967,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 From 2f879d202da96679f550edcbc83317a31f83f31b Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 30 Oct 2023 19:17:10 +0700 Subject: [PATCH 02/22] chore(dashmate): set tenderdash logging level to info (#1540) --- .../dashmate/configs/defaults/getBaseConfigFactory.js | 2 +- .../dashmate/configs/getConfigFileMigrationsFactory.js | 8 ++++++++ .../src/listr/tasks/setup/setupLocalPresetTaskFactory.js | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/dashmate/configs/defaults/getBaseConfigFactory.js b/packages/dashmate/configs/defaults/getBaseConfigFactory.js index ffa1070424..ef54568545 100644 --- a/packages/dashmate/configs/defaults/getBaseConfigFactory.js +++ b/packages/dashmate/configs/defaults/getBaseConfigFactory.js @@ -199,7 +199,7 @@ function getBaseConfigFactory(homeDir) { createEmptyBlocksInterval: '3m', }, log: { - level: 'debug', + level: 'info', format: 'plain', path: null, }, diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index faa940576d..319328f45e 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -268,6 +268,14 @@ function getConfigFileMigrationsFactory(homeDir, defaultConfigs) { fs.rmSync(homeDir.joinPath('ssl'), { recursive: true }); } + return configFile; + }, + '1.0.0-dev.1': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.tenderdash.log.level = 'info'; + }); + return configFile; }, }; diff --git a/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js b/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js index 71bf7df587..fb6546870b 100644 --- a/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/setup/setupLocalPresetTaskFactory.js @@ -85,7 +85,7 @@ function setupLocalPresetTaskFactory( ctx.minerInterval = await task.prompt({ type: 'input', message: 'Enter the interval between core blocks', - initial: configFile.getConfig('base').options.core.miner.interval, + initial: configFile.getConfig('base').get('core.miner.interval'), validate: (state) => { if (state.match(/\d+(\.\d+)?(m|s)/)) { return true; @@ -239,6 +239,7 @@ function setupLocalPresetTaskFactory( config.set('platform.drive.abci.logs.stdout.format', 'full'); } + // TODO: Shall we use trace? config.set('platform.drive.tenderdash.log.level', 'debug'); } From b7de7ef5699d060dc054709025dff2cde1ad280f Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Mon, 30 Oct 2023 21:00:12 +0100 Subject: [PATCH 03/22] feat: versioning --- Cargo.lock | 78 +++--- Cargo.toml | 1 + packages/dapi-grpc/Cargo.toml | 2 + packages/dapi-grpc/build.rs | 54 +++- .../platform/v0/rust/platform_example.rs | 5 +- .../protos/platform/v0/platform.proto | 9 +- packages/dapi-grpc/src/lib.rs | 33 +-- .../proto/org.dash.platform.dapi.v0.rs | 58 +++- packages/dapi-grpc/src/platform/versioning.rs | 11 + packages/rs-dapi-client/src/transport/grpc.rs | 6 +- .../rs-dapi-client/tests/mock_dapi_client.rs | 19 +- packages/rs-dapi-grpc-macros/Cargo.toml | 18 ++ packages/rs-dapi-grpc-macros/src/lib.rs | 128 +++++++++ packages/rs-drive-abci/src/query/mod.rs | 12 +- .../rs-drive-abci/src/query/proofs/v0/mod.rs | 22 +- .../verify_state_transitions.rs | 118 ++++---- packages/rs-drive-proof-verifier/src/error.rs | 4 + packages/rs-drive-proof-verifier/src/proof.rs | 255 +++++++++--------- .../src/drive/prove/prove_multiple/mod.rs | 2 +- .../src/drive/prove/prove_multiple/v0/mod.rs | 6 +- packages/rs-sdk/src/mock/sdk.rs | 2 +- packages/rs-sdk/src/platform/delegate.rs | 3 +- .../rs-sdk/src/platform/document_query.rs | 16 +- packages/rs-sdk/src/platform/identity.rs | 32 +-- packages/rs-sdk/src/platform/query.rs | 17 +- packages/rs-sdk/src/sdk.rs | 4 +- 26 files changed, 575 insertions(+), 340 deletions(-) create mode 100644 packages/dapi-grpc/src/platform/versioning.rs create mode 100644 packages/rs-dapi-grpc-macros/Cargo.toml create mode 100644 packages/rs-dapi-grpc-macros/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index f7c8107d15..6d27d3137f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -178,7 +178,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -189,7 +189,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -358,7 +358,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.37", + "syn 2.0.38", "which", ] @@ -732,7 +732,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -964,13 +964,15 @@ checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] name = "dapi-grpc" version = "0.25.0" dependencies = [ + "dapi-grpc-macros", + "platform-version", "prost 0.11.9", "serde", "serde_bytes", @@ -979,6 +981,16 @@ dependencies = [ "tonic-build", ] +[[package]] +name = "dapi-grpc-macros" +version = "0.1.0" +dependencies = [ + "dapi-grpc", + "heck", + "quote", + "syn 2.0.38", +] + [[package]] name = "darling" version = "0.20.3" @@ -1000,7 +1012,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -1011,7 +1023,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -1417,7 +1429,7 @@ checksum = "04d0b288e3bb1d861c4403c1774a6f7a798781dfc519b3647df2a3dd4ae95f25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -1716,7 +1728,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2460,7 +2472,7 @@ checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2649,7 +2661,7 @@ checksum = "9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2832,7 +2844,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2878,7 +2890,7 @@ version = "0.25.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", "virtue 0.0.14", ] @@ -2909,7 +2921,7 @@ version = "0.25.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2926,7 +2938,7 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3048,7 +3060,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3162,7 +3174,7 @@ dependencies = [ "prost 0.12.1", "prost-types 0.12.1", "regex", - "syn 2.0.37", + "syn 2.0.38", "tempfile", "which", ] @@ -3190,7 +3202,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3812,7 +3824,7 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3835,7 +3847,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3878,7 +3890,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3890,7 +3902,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -4142,9 +4154,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.37" +version = "2.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" dependencies = [ "proc-macro2", "quote", @@ -4295,22 +4307,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -4413,7 +4425,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -4574,7 +4586,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -4853,7 +4865,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", "wasm-bindgen-shared", ] @@ -4887,7 +4899,7 @@ checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", "wasm-bindgen-backend", "wasm-bindgen-shared", ] diff --git a/Cargo.toml b/Cargo.toml index 07642abeb7..8fe09c67d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,7 @@ members = [ "packages/dapi-grpc", + "packages/rs-dapi-grpc-macros", "packages/rs-dpp", "packages/rs-drive", "packages/rs-platform-value", diff --git a/packages/dapi-grpc/Cargo.toml b/packages/dapi-grpc/Cargo.toml index d3ca4e4a71..3600b03600 100644 --- a/packages/dapi-grpc/Cargo.toml +++ b/packages/dapi-grpc/Cargo.toml @@ -34,6 +34,8 @@ tonic = { version = "0.9.2", features = [ serde = { version = "1.0.171", optional = true, features = ["derive"] } serde_bytes = { version = "0.11.12", optional = true } tenderdash-proto = { git = "https://github.com/dashpay/rs-tenderdash-abci" } +dapi-grpc-macros = { path = "../rs-dapi-grpc-macros" } +platform-version = { path = "../rs-platform-version" } [build-dependencies] tonic-build = { version = "0.9.2" } diff --git a/packages/dapi-grpc/build.rs b/packages/dapi-grpc/build.rs index 59c7d88e16..7e103ddd67 100644 --- a/packages/dapi-grpc/build.rs +++ b/packages/dapi-grpc/build.rs @@ -26,10 +26,56 @@ pub fn generate() -> Result<(), std::io::Error> { ); core.generate().unwrap(); - let platform = MappingConfig::new( + let mut platform = MappingConfig::new( PathBuf::from("protos/platform/v0/platform.proto"), PathBuf::from("src/platform/proto"), ); + // Derive features for versioned messages + // + // "GetConsensusParamsRequest" is excluded as this message does not support proofs + const VERSIONED_REQUESTS: [&str; 13] = [ + "GetDataContractHistoryRequest", + "GetDataContractRequest", + "GetDataContractsRequest", + "GetDocumentsRequest", + "GetIdentitiesByPublicKeyHashesRequest", + "GetIdentitiesRequest", + "GetIdentityBalanceAndRevisionRequest", + "GetIdentityBalanceRequest", + "GetIdentityByPublicKeyHashRequest", + "GetIdentityKeysRequest", + "GetIdentityRequest", + "GetProofsRequest", + "WaitForStateTransitionResultRequest", + ]; + + // "GetConsensusParamsResponse" is excluded as this message does not support proofs + const VERSIONED_RESPONSES: [&str; 13] = [ + "GetDataContractHistoryResponse", + "GetDataContractResponse", + "GetDataContractsResponse", + "GetDocumentsResponse", + "GetIdentitiesByPublicKeyHashesResponse", + "GetIdentitiesResponse", + "GetIdentityBalanceAndRevisionResponse", + "GetIdentityBalanceResponse", + "GetIdentityByPublicKeyHashResponse", + "GetIdentityKeysResponse", + "GetIdentityResponse", + "GetProofsResponse", + "WaitForStateTransitionResultResponse", + ]; + for msg in [VERSIONED_REQUESTS, VERSIONED_RESPONSES].concat() { + platform = + platform.message_attribute(msg, r#"#[derive(::dapi_grpc_macros::GrpcMessageV0)]"#); + } + + for msg in VERSIONED_RESPONSES { + platform = platform.message_attribute( + msg, + r#"#[derive(::dapi_grpc_macros::VersionedGrpcResponse)]"#, + ); + } #[cfg(feature = "serde")] let platform = platform @@ -111,6 +157,12 @@ impl MappingConfig { self } + #[allow(unused)] + fn message_attribute(mut self, path: &str, attribute: &str) -> Self { + self.builder = self.builder.message_attribute(path, attribute); + self + } + /// Run single generation process. fn generate(self) -> Result<(), std::io::Error> { // Remove old compiled files; ignore errors diff --git a/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs b/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs index 0d5806549a..84b1ab6c00 100644 --- a/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs +++ b/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs @@ -5,7 +5,10 @@ use prost::Message; fn main() { let request = platform::GetConsensusParamsRequest { version: Some(platform::get_consensus_params_request::Version::V0( - GetConsensusParamsRequestV0 { height: 123 }, + GetConsensusParamsRequestV0 { + prove: true, + height: 123, + }, )), }; diff --git a/packages/dapi-grpc/protos/platform/v0/platform.proto b/packages/dapi-grpc/protos/platform/v0/platform.proto index 09ad5a0680..b30440546c 100644 --- a/packages/dapi-grpc/protos/platform/v0/platform.proto +++ b/packages/dapi-grpc/protos/platform/v0/platform.proto @@ -235,10 +235,7 @@ message GetProofsRequest { Type request_type = 2; } - message ContractRequest { - bytes contract_id = 1; - bool is_historical = 2; - } + message ContractRequest { bytes contract_id = 1; } repeated IdentityRequest identities = 1; repeated ContractRequest contracts = 2; @@ -250,7 +247,8 @@ message GetProofsRequest { message GetProofsResponse { message GetProofsResponseV0 { - Proof proof = 1; + oneof result { Proof proof = 1; } + ResponseMetadata metadata = 2; } oneof version { GetProofsResponseV0 v0 = 1; } @@ -260,7 +258,6 @@ message GetDataContractRequest { message GetDataContractRequestV0 { bytes id = 1; bool prove = 2; - bool is_historical = 3; } oneof version { GetDataContractRequestV0 v0 = 1; } } diff --git a/packages/dapi-grpc/src/lib.rs b/packages/dapi-grpc/src/lib.rs index 3b9b2db8e7..c5ce7a35c8 100644 --- a/packages/dapi-grpc/src/lib.rs +++ b/packages/dapi-grpc/src/lib.rs @@ -10,40 +10,13 @@ pub mod core { pub mod platform { #[cfg(feature = "platform_v0")] pub mod v0 { - use tonic::IntoRequest; - include!("platform/proto/org.dash.platform.dapi.v0.rs"); - - /// Request to get identity balance. - // We need to create separate GetIdentityBalanceRequest - // because it has different response type - // - // TODO: Implement GetIdentityBalanceRequest in platform.proto and remove this one - #[derive(Debug, Clone)] - #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] - pub struct GetIdentityBalanceRequest(pub GetIdentityRequest); - impl IntoRequest for GetIdentityBalanceRequest { - fn into_request(self) -> tonic::Request { - self.0.into_request() - } - } - - /// Request to get identity balance and history. - // We need to create separate [GetIdentityBalanceAndRevisionRequest] - // because it has different response type - // - // TODO: Implement GetIdentityBalanceAndRevisionRequest in platform.proto and remove this one - #[derive(Debug, Clone)] - #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] - pub struct GetIdentityBalanceAndRevisionRequest(pub GetIdentityRequest); - impl IntoRequest for GetIdentityBalanceAndRevisionRequest { - fn into_request(self) -> tonic::Request { - self.0.into_request() - } - } } #[cfg(feature = "tenderdash-proto")] pub use tenderdash_proto as proto; + + mod versioning; + pub use versioning::VersionedGrpcResponse; } #[cfg(feature = "serde")] diff --git a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs index 9271ca2809..c86f99d0aa 100644 --- a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs +++ b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs @@ -65,6 +65,7 @@ pub struct BroadcastStateTransitionRequest { pub struct BroadcastStateTransitionResponse {} #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityRequest { @@ -95,6 +96,7 @@ pub mod get_identity_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceRequest { @@ -125,6 +127,7 @@ pub mod get_identity_balance_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceAndRevisionRequest { @@ -157,6 +160,8 @@ pub mod get_identity_balance_and_revision_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityResponse { @@ -199,6 +204,7 @@ pub mod get_identity_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesRequest { @@ -229,6 +235,8 @@ pub mod get_identities_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesResponse { @@ -297,6 +305,8 @@ pub mod get_identities_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceResponse { @@ -339,6 +349,8 @@ pub mod get_identity_balance_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceAndRevisionResponse { @@ -496,6 +508,7 @@ pub mod security_level_map { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityKeysRequest { @@ -532,6 +545,8 @@ pub mod get_identity_keys_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityKeysResponse { @@ -582,6 +597,7 @@ pub mod get_identity_keys_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetProofsRequest { @@ -680,8 +696,6 @@ pub mod get_proofs_request { pub struct ContractRequest { #[prost(bytes = "vec", tag = "1")] pub contract_id: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "2")] - pub is_historical: bool, } } #[derive(::serde::Serialize, ::serde::Deserialize)] @@ -695,6 +709,8 @@ pub mod get_proofs_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetProofsResponse { @@ -708,10 +724,21 @@ pub mod get_proofs_response { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetProofsResponseV0 { - #[prost(message, optional, tag = "1")] - pub proof: ::core::option::Option, #[prost(message, optional, tag = "2")] pub metadata: ::core::option::Option, + #[prost(oneof = "get_proofs_response_v0::Result", tags = "1")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetProofsResponseV0`. + pub mod get_proofs_response_v0 { + #[derive(::serde::Serialize, ::serde::Deserialize)] + #[serde(rename_all = "snake_case")] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Proof(super::super::Proof), + } } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] @@ -724,6 +751,7 @@ pub mod get_proofs_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractRequest { @@ -742,8 +770,6 @@ pub mod get_data_contract_request { pub id: ::prost::alloc::vec::Vec, #[prost(bool, tag = "2")] pub prove: bool, - #[prost(bool, tag = "3")] - pub is_historical: bool, } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] @@ -756,6 +782,8 @@ pub mod get_data_contract_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractResponse { @@ -798,6 +826,7 @@ pub mod get_data_contract_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractsRequest { @@ -828,6 +857,8 @@ pub mod get_data_contracts_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractsResponse { @@ -888,6 +919,7 @@ pub mod get_data_contracts_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractHistoryRequest { @@ -925,6 +957,8 @@ pub mod get_data_contract_history_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractHistoryResponse { @@ -989,6 +1023,7 @@ pub mod get_data_contract_history_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDocumentsRequest { @@ -1044,6 +1079,8 @@ pub mod get_documents_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDocumentsResponse { @@ -1094,6 +1131,7 @@ pub mod get_documents_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesByPublicKeyHashesRequest { @@ -1126,6 +1164,8 @@ pub mod get_identities_by_public_key_hashes_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesByPublicKeyHashesResponse { @@ -1194,6 +1234,7 @@ pub mod get_identities_by_public_key_hashes_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityByPublicKeyHashRequest { @@ -1226,6 +1267,8 @@ pub mod get_identity_by_public_key_hash_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityByPublicKeyHashResponse { @@ -1275,6 +1318,7 @@ pub mod get_identity_by_public_key_hash_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WaitForStateTransitionResultRequest { @@ -1306,6 +1350,8 @@ pub mod wait_for_state_transition_result_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] +#[derive(::dapi_grpc_macros::GrpcMessageV0)] +#[derive(::dapi_grpc_macros::VersionedGrpcResponse)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WaitForStateTransitionResultResponse { diff --git a/packages/dapi-grpc/src/platform/versioning.rs b/packages/dapi-grpc/src/platform/versioning.rs new file mode 100644 index 0000000000..3403619bc0 --- /dev/null +++ b/packages/dapi-grpc/src/platform/versioning.rs @@ -0,0 +1,11 @@ +use std::fmt::Display; + +use platform_version::version::PlatformVersion; + +use super::v0::{Proof, ResponseMetadata}; + +pub trait VersionedGrpcResponse { + type Error: Display; + fn get_proof(&self, version: &PlatformVersion) -> Result; + fn get_metadata(&self, version: &PlatformVersion) -> Result; +} diff --git a/packages/rs-dapi-client/src/transport/grpc.rs b/packages/rs-dapi-client/src/transport/grpc.rs index 29f145437d..21515a1a36 100644 --- a/packages/rs-dapi-client/src/transport/grpc.rs +++ b/packages/rs-dapi-client/src/transport/grpc.rs @@ -150,11 +150,11 @@ impl_transport_request_grpc!( ); impl_transport_request_grpc!( - platform_proto::GetIdentityByPublicKeyHashesRequest, - platform_proto::GetIdentityByPublicKeyHashesResponse, + platform_proto::GetIdentityByPublicKeyHashRequest, + platform_proto::GetIdentityByPublicKeyHashResponse, PlatformGrpcClient, RequestSettings::default(), - get_identity_by_public_key_hashes + get_identity_by_public_key_hash ); impl_transport_request_grpc!( diff --git a/packages/rs-dapi-client/tests/mock_dapi_client.rs b/packages/rs-dapi-client/tests/mock_dapi_client.rs index 18e5360f41..397e3d69ad 100644 --- a/packages/rs-dapi-client/tests/mock_dapi_client.rs +++ b/packages/rs-dapi-client/tests/mock_dapi_client.rs @@ -7,15 +7,16 @@ async fn test_mock_get_identity_dapi_client() { let mut dapi = MockDapiClient::new(); let request = GetIdentityRequest::default(); - let response = GetIdentityResponse { - result: Some( - dapi_grpc::platform::v0::get_identity_response::Result::Proof(Proof { - quorum_type: 106, - ..Default::default() - }), - ), - metadata: Default::default(), - }; + let response: GetIdentityResponse = + dapi_grpc::platform::v0::get_identity_response::GetIdentityResponseV0 { + result: Some( + dapi_grpc::platform::v0::get_identity_response::get_identity_response_v0::Result::Proof(Proof { + quorum_type: 106, + ..Default::default() + }), + ), + metadata: Default::default(), + }.into(); dapi.expect(&request, &response); diff --git a/packages/rs-dapi-grpc-macros/Cargo.toml b/packages/rs-dapi-grpc-macros/Cargo.toml new file mode 100644 index 0000000000..4eaf4bc409 --- /dev/null +++ b/packages/rs-dapi-grpc-macros/Cargo.toml @@ -0,0 +1,18 @@ +[package] + +name = "dapi-grpc-macros" +version = "0.1.0" +edition = "2021" +description = "Macros used by dapi-grpc. Internal use only." + +[lib] +proc-macro = true + +[dependencies] +quote = "1.0.33" +syn = "2.0.38" +heck = "0.4.1" + +[dev-dependencies] + +dapi-grpc = { path = "../dapi-grpc" } diff --git a/packages/rs-dapi-grpc-macros/src/lib.rs b/packages/rs-dapi-grpc-macros/src/lib.rs new file mode 100644 index 0000000000..7722eb569d --- /dev/null +++ b/packages/rs-dapi-grpc-macros/src/lib.rs @@ -0,0 +1,128 @@ +use heck::AsSnakeCase; +use proc_macro::TokenStream; +use quote::quote; +use syn::{parse_macro_input, DeriveInput, Ident}; + +/// Implement versioning on gRPC responses +/// +/// This adds implementation of [dapi_grpc::VersionedGrpcResponse] to the message: +/// +/// * impl [VersionedGrpcResponse](::platform_version::VersionedGrpcResponse) for ResponseName +/// +/// where `ResponseName` is the name of the object on which the derive is declared. +/// +/// ## Requirements +/// +/// The response must be versioned and contain proof and metadata fields. +#[proc_macro_derive(VersionedGrpcResponse)] +pub fn versioned_grpc_response_derive(input: TokenStream) -> TokenStream { + // Parse the input tokens into a syntax tree + let input = parse_macro_input!(input as DeriveInput); + + // Get the name of the struct + let name = input.ident.clone(); + + let v0_name = format!("{}V0", name); + let v0_ident = syn::parse_str::(&v0_name).expect("parse v0 ident"); + + // Generate the names of the nested message and enum types + let mod_name = AsSnakeCase(name.to_string()).to_string(); + let mod_ident = syn::parse_str::(&mod_name).expect("parse response ident"); + + let mod_v0_name = format!("{}_v0", mod_name); + let mod_v0_ident = syn::parse_str::(&mod_v0_name).expect("parse v0 ident"); + + // Generate the implementation + let expanded = quote! { + impl crate::platform::VersionedGrpcResponse for #name { + type Error = ::platform_version::error::PlatformVersionError; + + fn get_proof(&self, version: &::platform_version::version::PlatformVersion) -> Result { + // TODO add assertion to check that version is correct + use ::platform_version::TryFromPlatformVersioned; + + let item = #mod_ident::#v0_ident::try_from_platform_versioned(self.clone(), version)?; + + match &item.result { + Some(#mod_ident::#mod_v0_ident::Result::Proof(ref proof)) => { + Ok(proof.clone()) + }, + _ => Err(::platform_version::error::PlatformVersionError::UnknownVersionError("result is not proof".to_string())), + } + } + + fn get_metadata(&self, version: &::platform_version::version::PlatformVersion) -> Result { + use ::platform_version::TryFromPlatformVersioned; + + let item = #mod_ident::#v0_ident::try_from_platform_versioned(self.clone(), version)?; + + let metadata = item.metadata.ok_or(::platform_version::error::PlatformVersionError::UnknownVersionError("metadata is not set".to_string()))?; + Ok(metadata) + } + } + }; + println!("Expanded code: {}", expanded); + + // Return the generated code + TokenStream::from(expanded) +} + +/// Implement versioning on gRPC messages +/// +/// This adds implementation of version 0 to the message: +/// +/// * impl From for MessageName +/// * impl [TryFromPlatformVersioned](::platform_version::TryFromPlatformVersioned) for MessageNameV0 +/// +/// where `MessageName` is the name of the object on which the derive is declared. +#[proc_macro_derive(GrpcMessageV0)] +pub fn grpc_message_v0_derive(input: TokenStream) -> TokenStream { + // Parse the input tokens into a syntax tree + let input = parse_macro_input!(input as DeriveInput); + + // Get the name of the struct + let name = input.ident.clone(); + + let v0_name = format!("{}V0", name); + let v0_ident = syn::parse_str::(&v0_name).expect("parse v0 ident"); + + // Generate the names of the nested message and enum types + let mod_name = AsSnakeCase(name.to_string()).to_string(); + let mod_ident = syn::parse_str::(&mod_name).expect("parse response ident"); + + // let mod_v0_name = format!("{}_v0", mod_name); + // let mod_v0_ident = syn::parse_str::(&mod_v0_name).expect("parse v0 ident"); + + // Generate the implementation of the IntoProof trait + let expanded = quote! { + impl From<#mod_ident::#v0_ident> for #name { + fn from(item: #mod_ident::#v0_ident) -> Self { + Self { + version: Some(#mod_ident::Version::V0(item)), + } + } + } + + impl ::platform_version::TryFromPlatformVersioned<#name> for #mod_ident::#v0_ident { + type Error = ::platform_version::error::PlatformVersionError; + + fn try_from_platform_versioned( + value: #name, + platform_version: &::platform_version::version::PlatformVersion, + ) -> Result { + // TODO check if version matches `platform_version` + match value.version { + Some(#mod_ident::Version::V0(item)) => { + Ok(item) + }, + _ => Err(platform_version::error::PlatformVersionError::UnknownVersionError("unsupported version".to_string())), + } + } + } + }; + // uncomment below to debug + // println!("Expanded code: {}", expanded); + + // Return the generated code + TokenStream::from(expanded) +} diff --git a/packages/rs-drive-abci/src/query/mod.rs b/packages/rs-drive-abci/src/query/mod.rs index 4e678b3fcd..66e25e8963 100644 --- a/packages/rs-drive-abci/src/query/mod.rs +++ b/packages/rs-drive-abci/src/query/mod.rs @@ -1698,6 +1698,7 @@ mod tests { }; use dapi_grpc::platform::v0::get_proofs_request::{GetProofsRequestV0, Version}; use dapi_grpc::platform::v0::{get_proofs_response, GetProofsRequest, GetProofsResponse}; + use dapi_grpc::platform::VersionedGrpcResponse; use prost::Message; const PATH: &str = "/proofs"; @@ -1844,14 +1845,11 @@ mod tests { let response = GetProofsResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); - let proof = extract_variant_or_panic!( - response.version.expect("expected a versioned response"), - get_proofs_response::Version::V0(inner), - inner - ) - .proof; + let proof = response + .get_proof(version) + .expect("expected a proof in versioned response"); - assert!(proof.is_some()) + assert!(!proof.grovedb_proof.is_empty()) } } } diff --git a/packages/rs-drive-abci/src/query/proofs/v0/mod.rs b/packages/rs-drive-abci/src/query/proofs/v0/mod.rs index e4f473667d..7969042161 100644 --- a/packages/rs-drive-abci/src/query/proofs/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/proofs/v0/mod.rs @@ -34,14 +34,14 @@ impl Platform { .into_iter() .map(|contract_request| { Bytes32::from_vec(contract_request.contract_id) - .map(|bytes| (bytes.0, contract_request.is_historical)) + .map(|bytes| (bytes.0, None)) .map_err(|_| { QueryError::InvalidArgument( "id must be a valid identifier (32 bytes long)".to_string(), ) }) }) - .collect::, QueryError>>()); + .collect::)>, QueryError>>()); let identity_requests = check_validation_result_with_data!(identities .into_iter() @@ -106,14 +106,16 @@ impl Platform { let response_data = GetProofsResponse { version: Some(get_proofs_response::Version::V0(GetProofsResponseV0 { - proof: Some(Proof { - grovedb_proof: proof, - quorum_hash: state.last_quorum_hash().to_vec(), - quorum_type, - block_id_hash: state.last_block_id_hash().to_vec(), - signature: state.last_block_signature().to_vec(), - round: state.last_block_round(), - }), + result: Some(get_proofs_response::get_proofs_response_v0::Result::Proof( + Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }, + )), metadata: Some(metadata), })), } diff --git a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs index f1a70eb634..36099c5314 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs @@ -1,26 +1,27 @@ use dapi_grpc::platform::v0::{ get_proofs_request, get_proofs_response, GetProofsRequest, GetProofsResponse, }; +use dapi_grpc::platform::VersionedGrpcResponse; -use dpp::document::Document; -use dpp::identity::PartialIdentity; -use dpp::state_transition::{StateTransition, StateTransitionLike}; -use drive::drive::Drive; -use drive::query::SingleDocumentDriveQuery; -use drive_abci::abci::AbciApplication; -use drive_abci::platform_types::platform::PlatformRef; -use drive_abci::rpc::core::MockCoreRPCLike; -use dpp::block::epoch::Epoch; use dapi_grpc::platform::v0::get_proofs_request::{get_proofs_request_v0, GetProofsRequestV0}; use dapi_grpc::platform::v0::get_proofs_response::GetProofsResponseV0; +use dpp::block::epoch::Epoch; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::data_contract::config::v0::DataContractConfigGettersV0; +use dpp::document::Document; +use dpp::identity::PartialIdentity; +use dpp::state_transition::{StateTransition, StateTransitionLike}; use dpp::version::PlatformVersion; use drive::drive::identity::key::fetch::IdentityKeysRequest; +use drive::drive::Drive; +use drive::query::SingleDocumentDriveQuery; use drive::state_transition_action::document::documents_batch::document_transition::DocumentTransitionAction; use drive::state_transition_action::StateTransitionAction; +use drive_abci::abci::AbciApplication; use drive_abci::execution::validation::state_transition::transformer::StateTransitionActionTransformerV0; +use drive_abci::platform_types::platform::PlatformRef; use drive_abci::platform_types::platform_state::v0::PlatformStateV0Methods; +use drive_abci::rpc::core::MockCoreRPCLike; use prost::Message; use tenderdash_abci::proto::abci::ExecTxResult; @@ -93,10 +94,6 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .contracts .push(get_proofs_request_v0::ContractRequest { contract_id: data_contract_create.data_contract_ref().id().to_vec(), - is_historical: data_contract_create - .data_contract_ref() - .config() - .keeps_history(), }); let versioned_request = GetProofsRequest { version: Some(get_proofs_request::Version::V0(proofs_request)), @@ -112,14 +109,11 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = + let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); - - let response_proof = proof.expect("proof should be present"); + .expect("expected to decode proof response") + .get_proof(platform_version) + .expect("proof should be present"); // let fetched_contract = abci_app // .platform.drive.fetch_contract(data_contract_create.data_contract_ref().id().into_buffer(), None, None, None, platform_version).unwrap().unwrap(); @@ -156,10 +150,6 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .contracts .push(get_proofs_request_v0::ContractRequest { contract_id: data_contract_update.data_contract_ref().id().to_vec(), - is_historical: data_contract_update - .data_contract_ref() - .config() - .keeps_history(), }); let versioned_request = GetProofsRequest { version: Some(get_proofs_request::Version::V0(proofs_request)), @@ -175,14 +165,12 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = - GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); + let response = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) + .expect("expected to decode proof response"); - let response_proof = proof.expect("proof should be present"); + let response_proof = response + .get_proof(platform_version) + .expect("expected to get proof"); // we expect to get an identity that matches the state transition let (root_hash, contract) = Drive::verify_contract( @@ -250,14 +238,12 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = - GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); + let response = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) + .expect("expected to decode proof response"); - let response_proof = proof.expect("proof should be present"); + let response_proof = response + .get_proof(platform_version) + .expect("proof should be present"); for document_transition_action in documents_batch_transition.transitions().iter() { let contract_fetch_info = @@ -398,14 +384,12 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = - GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); + let response = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) + .expect("expected to decode proof response"); - let response_proof = proof.expect("proof should be present"); + let response_proof = response + .get_proof(platform_version) + .expect("proof should be present"); // we expect to get an identity that matches the state transition let (root_hash, identity) = Drive::verify_full_identity_by_identity_id( @@ -465,14 +449,11 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = + let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); - - let response_proof = proof.expect("proof should be present"); + .expect("expected to decode proof response") + .get_proof(platform_version) + .expect("proof should be present"); // we expect to get an identity that matches the state transition let (root_hash, balance) = Drive::verify_identity_balance_for_identity_id( @@ -529,14 +510,11 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = + let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); - - let response_proof = proof.expect("proof should be present"); + .expect("expected to decode proof response") + .get_proof(platform_version) + .expect("proof should be present"); // we expect to get an identity that matches the state transition let (root_hash, balance) = Drive::verify_identity_balance_for_identity_id( @@ -579,14 +557,11 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = + let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); - - let response_proof = proof.expect("proof should be present"); + .expect("expected to decode proof response") + .get_proof(platform_version) + .expect("proof should be present"); // we expect to get an identity that matches the state transition let (root_hash, identity) = Drive::verify_identity_keys_by_identity_id( @@ -650,14 +625,11 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let serialized_get_proofs_response = result.into_data().expect("expected queries to be valid"); - let GetProofsResponse { version } = + let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) - .expect("expected to decode proof response"); - - let get_proofs_response::Version::V0(GetProofsResponseV0 { proof, metadata: _ }) = - version.expect("expected a versioned response"); - - let response_proof = proof.expect("proof should be present"); + .expect("expected to decode proof response") + .get_proof(platform_version) + .expect("proof should be present"); // we expect to get an identity that matches the state transition let (root_hash_identity, _balance_identity) = diff --git a/packages/rs-drive-proof-verifier/src/error.rs b/packages/rs-drive-proof-verifier/src/error.rs index f28bc030f1..eecc25c470 100644 --- a/packages/rs-drive-proof-verifier/src/error.rs +++ b/packages/rs-drive-proof-verifier/src/error.rs @@ -68,4 +68,8 @@ pub enum Error { /// Callback error #[error("unexpected callback error: {error}, reason: {reason}")] UnexpectedCallbackError { error: String, reason: String }, + + /// Invalid version of object in response + #[error("invalid version of message")] + InvalidVersion(#[from] dpp::version::PlatformVersionError), } diff --git a/packages/rs-drive-proof-verifier/src/proof.rs b/packages/rs-drive-proof-verifier/src/proof.rs index a67d7c81cf..f8694074a1 100644 --- a/packages/rs-drive-proof-verifier/src/proof.rs +++ b/packages/rs-drive-proof-verifier/src/proof.rs @@ -1,11 +1,22 @@ use std::collections::BTreeMap; use crate::{types::*, Error, QuorumInfoProvider}; -use dapi_grpc::platform::v0::get_identities_keys_request::security_level_map::KeyKindRequestType as GrpcKeyKind; -use dapi_grpc::platform::v0::{self as platform, key_request_type, KeyRequestType as GrpcKeyType}; +use dapi_grpc::platform::v0::get_data_contract_history_request::GetDataContractHistoryRequestV0; +use dapi_grpc::platform::v0::get_data_contract_request::GetDataContractRequestV0; +use dapi_grpc::platform::v0::get_data_contracts_request::GetDataContractsRequestV0; +use dapi_grpc::platform::v0::get_identity_balance_and_revision_request::GetIdentityBalanceAndRevisionRequestV0; +use dapi_grpc::platform::v0::get_identity_balance_request::GetIdentityBalanceRequestV0; +use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::GetIdentityByPublicKeyHashRequestV0; +use dapi_grpc::platform::v0::get_identity_keys_request::GetIdentityKeysRequestV0; +use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; +use dapi_grpc::platform::v0::security_level_map::KeyKindRequestType as GrpcKeyKind; +use dapi_grpc::platform::{ + v0::{self as platform, key_request_type, KeyRequestType as GrpcKeyType}, + VersionedGrpcResponse, +}; use dpp::document::{Document, DocumentV0Getters}; use dpp::prelude::{DataContract, Identifier, Identity}; -use dpp::version::PlatformVersion; +use dpp::version::{PlatformVersion, TryIntoPlatformVersioned}; use drive::drive::identity::key::fetch::{ IdentityKeysRequest, KeyKindRequestType, KeyRequestType, PurposeU8, SecurityLevelU8, }; @@ -54,6 +65,7 @@ pub trait FromProof { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -80,36 +92,17 @@ pub trait FromProof { fn from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, provider: &'a dyn QuorumInfoProvider, ) -> Result where Self: Sized + 'a, { - Self::maybe_from_proof(request, response, provider)?.ok_or(Error::NotFound) + Self::maybe_from_proof(request, response, platform_version, provider)? + .ok_or(Error::NotFound) } } -/// Retrieve proof from provided response. -/// -/// This is a helper macro to retrieve proof from a response. -/// -/// ## Example -/// -/// `get_proof(response, platform::get_data_contract_response::Result)` -#[macro_export] -macro_rules! get_proof { - ($response:expr, $result_type:ty) => {{ - use $result_type as Result; - let proof = if let Some(Result::Proof(proof)) = &($response.result) { - Some(proof) - } else { - None - }; - - proof - }}; -} - impl FromProof for Identity { type Request = platform::GetIdentityRequest; type Response = platform::GetIdentityResponse; @@ -117,6 +110,7 @@ impl FromProof for Identity { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -124,17 +118,20 @@ impl FromProof for Identity { { let request: platform::GetIdentityRequest = request.into(); let response: Self::Response = response.into(); + // Parse response to read proof and metadata - let proof = get_proof!(response, platform::get_identity_response::Result) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request - let id = Identifier::from_bytes(&request.id).map_err(|e| Error::ProtocolError { + let request_v0: GetIdentityRequestV0 = + request.try_into_platform_versioned(platform_version)?; + let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { error: e.to_string(), })?; @@ -149,20 +146,22 @@ impl FromProof for Identity { error: e.to_string(), })?; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; Ok(maybe_identity) } } // TODO: figure out how to deal with mock::automock -impl FromProof for Identity { - type Request = platform::GetIdentityByPublicKeyHashesRequest; - type Response = platform::GetIdentityByPublicKeyHashesResponse; +impl FromProof for Identity { + type Request = platform::GetIdentityByPublicKeyHashRequest; + type Response = platform::GetIdentityByPublicKeyHashResponse; fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -171,22 +170,20 @@ impl FromProof for Identity { let request = request.into(); let response = response.into(); // Parse response to read proof and metadata - let proof = get_proof!( - response, - platform::get_identity_by_public_key_hashes_response::Result - ) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request + let request_v0: GetIdentityByPublicKeyHashRequestV0 = + request.try_into_platform_versioned(platform_version)?; let public_key_hash: [u8; 20] = - request + request_v0 .public_key_hash - .clone() .try_into() .map_err(|_| Error::DriveError { error: "Ivalid public key hash length".to_string(), @@ -202,7 +199,7 @@ impl FromProof for Identity { error: e.to_string(), })?; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; Ok(maybe_identity) } @@ -215,6 +212,8 @@ impl FromProof for IdentityPublicKeys { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -224,22 +223,25 @@ impl FromProof for IdentityPublicKeys { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = get_proof!(response, platform::get_identity_keys_response::Result) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request - let identity_id = Identifier::from_bytes(&request.identity_id) + let request_v0: GetIdentityKeysRequestV0 = + request.try_into_platform_versioned(platform_version)?; + + let identity_id = Identifier::from_bytes(&request_v0.identity_id) .map_err(|e| Error::ProtocolError { error: e.to_string(), })? .into_buffer(); - let key_request = match parse_key_request_type(&request.request_type)? { + let key_request = match parse_key_request_type(&request_v0.request_type)? { KeyRequestType::SpecificKeys(specific_keys) => { IdentityKeysRequest::new_specific_keys_query(&identity_id, specific_keys) } @@ -305,7 +307,7 @@ impl FromProof for IdentityPublicKeys { None }; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; Ok(maybe_keys) } @@ -339,6 +341,9 @@ fn parse_key_request_type(request: &Option) -> Result { Ok(KeyKindRequestType::CurrentKeyOfKindRequest) } + Some(GrpcKeyKind::AllKeysOfKindRequest) => { + Ok(KeyKindRequestType::AllKeysOfKindRequest) + } None => Err(Error::RequestDecodeError { error: format!("missing requested key type: {}", *kind), }), @@ -372,6 +377,8 @@ impl FromProof for IdentityBalance { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -381,16 +388,18 @@ impl FromProof for IdentityBalance { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = get_proof!(response, platform::get_identity_balance_response::Result) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request - let id = Identifier::from_bytes(&request.0.id).map_err(|e| Error::ProtocolError { + let request_v0: GetIdentityBalanceRequestV0 = + request.try_into_platform_versioned(platform_version)?; + let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { error: e.to_string(), })?; @@ -405,7 +414,7 @@ impl FromProof for IdentityBalance { error: e.to_string(), })?; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; Ok(maybe_identity) } @@ -418,6 +427,8 @@ impl FromProof for IdentityBalan fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -427,19 +438,18 @@ impl FromProof for IdentityBalan let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = get_proof!( - response, - platform::get_identity_balance_and_revision_response::Result - ) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request - let id = Identifier::from_bytes(&request.0.id).map_err(|e| Error::ProtocolError { + let request_v0: GetIdentityBalanceAndRevisionRequestV0 = + request.try_into_platform_versioned(platform_version)?; + let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { error: e.to_string(), })?; @@ -454,7 +464,7 @@ impl FromProof for IdentityBalan error: e.to_string(), })?; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; Ok(maybe_identity) } @@ -467,6 +477,8 @@ impl FromProof for DataContract { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -476,16 +488,18 @@ impl FromProof for DataContract { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = get_proof!(response, platform::get_data_contract_response::Result) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request - let id = Identifier::from_bytes(&request.id).map_err(|e| Error::ProtocolError { + let request_v0: GetDataContractRequestV0 = + request.try_into_platform_versioned(platform_version)?; + let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { error: e.to_string(), })?; @@ -502,7 +516,7 @@ impl FromProof for DataContract { error: e.to_string(), })?; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; Ok(maybe_contract) } @@ -515,6 +529,8 @@ impl FromProof for DataContracts { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -524,16 +540,18 @@ impl FromProof for DataContracts { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = get_proof!(response, platform::get_data_contracts_response::Result) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request - let ids = request + let request_v0: GetDataContractsRequestV0 = + request.try_into_platform_versioned(platform_version)?; + let ids = request_v0 .ids .iter() .map(|id| { @@ -556,7 +574,7 @@ impl FromProof for DataContracts { error: e.to_string(), })?; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; let maybe_contracts = if contracts.count_some() > 0 { Some(contracts) @@ -575,6 +593,8 @@ impl FromProof for DataContractHistory fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -584,30 +604,29 @@ impl FromProof for DataContractHistory let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = get_proof!( - response, - platform::get_data_contract_history_response::Result - ) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request - let id = Identifier::from_bytes(&request.id).map_err(|e| Error::ProtocolError { + let request_v0: GetDataContractHistoryRequestV0 = + request.try_into_platform_versioned(platform_version)?; + let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { error: e.to_string(), })?; - let limit = u32_to_u16_opt(request.limit.unwrap_or_default())?; - let offset = u32_to_u16_opt(request.offset.unwrap_or_default())?; + let limit = u32_to_u16_opt(request_v0.limit.unwrap_or_default())?; + let offset = u32_to_u16_opt(request_v0.offset.unwrap_or_default())?; // Extract content from proof and verify Drive/GroveDB proofs let (root_hash, maybe_history) = Drive::verify_contract_history( &proof.grovedb_proof, id.into_buffer(), - request.start_at_ms, + request_v0.start_at_ms, limit, offset, &PLATFORM_VERSION, @@ -616,7 +635,7 @@ impl FromProof for DataContractHistory error: e.to_string(), })?; - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; Ok(maybe_history) } @@ -634,6 +653,8 @@ where fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + platform_version: &PlatformVersion, + provider: &'a dyn QuorumInfoProvider, ) -> Result, Error> where @@ -651,13 +672,13 @@ where })?; // Parse response to read proof and metadata - let proof = get_proof!(response, platform::get_documents_response::Result) - .ok_or(Error::NoProofInResult)?; + let proof = response + .get_proof(platform_version) + .or(Err(Error::NoProofInResult))?; let mtd = response - .metadata - .as_ref() - .ok_or(Error::EmptyResponseMetadata)?; + .get_metadata(platform_version) + .or(Err(Error::EmptyResponseMetadata))?; let (root_hash, documents) = request .verify_proof(&proof.grovedb_proof, &PLATFORM_VERSION) @@ -669,7 +690,7 @@ where .map(|d| (d.id(), Some(d))) .collect::(); - verify_tenderdash_proof(proof, mtd, &root_hash, provider)?; + verify_tenderdash_proof(&proof, &mtd, &root_hash, provider)?; if documents.is_empty() { Ok(None) @@ -758,29 +779,3 @@ define_length!(Identity); define_length!(IdentityBalance); define_length!(IdentityBalanceAndRevision); // define_length!(IdentityPublicKeys, |d: &IdentityPublicKeys| d.count_some()); - -#[cfg(test)] -pub mod test { - use dapi_grpc::platform::v0::{self as platform_proto}; - - #[test] - fn get_proof() { - let resp = platform_proto::GetDataContractResponse { - ..Default::default() - }; - let proof = get_proof!(resp, platform_proto::get_data_contract_response::Result); - assert_eq!(proof, None); - - let resp = platform_proto::GetDataContractResponse { - result: Some(platform_proto::get_data_contract_response::Result::Proof( - platform_proto::Proof { - round: 12, - ..Default::default() - }, - )), - ..Default::default() - }; - let proof = get_proof!(resp, platform_proto::get_data_contract_response::Result); - assert_eq!(proof.unwrap().round, 12); - } -} diff --git a/packages/rs-drive/src/drive/prove/prove_multiple/mod.rs b/packages/rs-drive/src/drive/prove/prove_multiple/mod.rs index 5b48cb9f1c..e67785411d 100644 --- a/packages/rs-drive/src/drive/prove/prove_multiple/mod.rs +++ b/packages/rs-drive/src/drive/prove/prove_multiple/mod.rs @@ -31,7 +31,7 @@ impl Drive { pub fn prove_multiple( &self, identity_queries: &Vec, - contract_ids: &[([u8; 32], bool)], //bool represents if it is historical + contract_ids: &[([u8; 32], Option)], //bool represents if it is historical document_queries: &Vec, transaction: TransactionArg, platform_version: &PlatformVersion, diff --git a/packages/rs-drive/src/drive/prove/prove_multiple/v0/mod.rs b/packages/rs-drive/src/drive/prove/prove_multiple/v0/mod.rs index 40f2f74646..ed4013cf18 100644 --- a/packages/rs-drive/src/drive/prove/prove_multiple/v0/mod.rs +++ b/packages/rs-drive/src/drive/prove/prove_multiple/v0/mod.rs @@ -27,7 +27,7 @@ impl Drive { pub(super) fn prove_multiple_v0( &self, identity_queries: &Vec, - contract_ids: &[([u8; 32], bool)], //bool is history + contract_ids: &[([u8; 32], Option)], //bool is history document_queries: &Vec, transaction: TransactionArg, platform_version: &PlatformVersion, @@ -57,7 +57,9 @@ impl Drive { let (contract_ids, historical_contract_ids): (Vec<_>, Vec<_>) = contract_ids .iter() .partition_map(|(contract_id, historical)| { - if !*historical { + // TODO: implement None + let history = historical.unwrap_or(false); + if !history { Either::Left(*contract_id) } else { Either::Right(*contract_id) diff --git a/packages/rs-sdk/src/mock/sdk.rs b/packages/rs-sdk/src/mock/sdk.rs index a800177065..9b652c6af4 100644 --- a/packages/rs-sdk/src/mock/sdk.rs +++ b/packages/rs-sdk/src/mock/sdk.rs @@ -309,7 +309,7 @@ impl MockDashPlatformSdk { .ok_or(drive_proof_verifier::Error::InvalidQuorum{ error:"expectation not found and quorum info provider not initialized with sdk.mock().quorum_info_dir()".to_string() })?; - O::maybe_from_proof(request, response, provider)? + O::maybe_from_proof(request, response, self.version(), provider)? } }; diff --git a/packages/rs-sdk/src/platform/delegate.rs b/packages/rs-sdk/src/platform/delegate.rs index 8f768e48cc..733a29c23f 100644 --- a/packages/rs-sdk/src/platform/delegate.rs +++ b/packages/rs-sdk/src/platform/delegate.rs @@ -76,6 +76,7 @@ macro_rules! delegate_from_proof_variant { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + version: &dpp::version::PlatformVersion, provider: &'a dyn drive_proof_verifier::QuorumInfoProvider, ) -> Result, drive_proof_verifier::Error> where @@ -91,7 +92,7 @@ macro_rules! delegate_from_proof_variant { req::$variant(request) => { if let resp::$variant(response) = response { >::maybe_from_proof( - request, response, provider, + request, response, version, provider, ) } else { Err(drive_proof_verifier::Error::ResponseDecodeError { diff --git a/packages/rs-sdk/src/platform/document_query.rs b/packages/rs-sdk/src/platform/document_query.rs index 66cd0e1719..5ab0d38d1c 100644 --- a/packages/rs-sdk/src/platform/document_query.rs +++ b/packages/rs-sdk/src/platform/document_query.rs @@ -5,7 +5,9 @@ use std::sync::Arc; use crate::{error::Error, sdk::Sdk}; use ciborium::Value as CborValue; use dapi_grpc::platform::v0::{ - self as platform_proto, get_documents_request::Start, GetDocumentsRequest, + self as platform_proto, + get_documents_request::{get_documents_request_v0::Start, GetDocumentsRequestV0}, + GetDocumentsRequest, }; use dpp::{ data_contract::{ @@ -143,6 +145,7 @@ impl FromProof for Document { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + version: &dpp::version::PlatformVersion, provider: &'a dyn drive_proof_verifier::QuorumInfoProvider, ) -> Result, drive_proof_verifier::Error> where @@ -151,7 +154,9 @@ impl FromProof for Document { let request: Self::Request = request.into(); let documents: Option = - >::maybe_from_proof(request, response, provider)?; + >::maybe_from_proof( + request, response, version, provider, + )?; match documents { None => Ok(None), @@ -171,6 +176,7 @@ impl FromProof for drive_proof_verifier::types::Documents { fn maybe_from_proof<'a, I: Into, O: Into>( request: I, response: O, + version: &dpp::version::PlatformVersion, provider: &'a dyn drive_proof_verifier::QuorumInfoProvider, ) -> Result, drive_proof_verifier::Error> where @@ -187,6 +193,7 @@ impl FromProof for drive_proof_verifier::types::Documents { >::maybe_from_proof( drive_query, response, + version, provider, ) } @@ -202,7 +209,7 @@ impl TryFrom for platform_proto::GetDocumentsRequest { let order_by = serialize_vec_to_cbor(dapi_request.order_by_clauses.clone())?; // Order clause - Ok(platform_proto::GetDocumentsRequest { + Ok(GetDocumentsRequestV0 { data_contract_id: dapi_request.data_contract.id().to_vec(), document_type: dapi_request.document_type_name.clone(), r#where: where_clauses, @@ -210,7 +217,8 @@ impl TryFrom for platform_proto::GetDocumentsRequest { limit: dapi_request.limit, prove: true, start: dapi_request.start.clone(), - }) + } + .into()) } } diff --git a/packages/rs-sdk/src/platform/identity.rs b/packages/rs-sdk/src/platform/identity.rs index e379b506dc..f9f7bc4ade 100644 --- a/packages/rs-sdk/src/platform/identity.rs +++ b/packages/rs-sdk/src/platform/identity.rs @@ -1,5 +1,9 @@ //! Identity related types and functions +use dapi_grpc::platform::v0::get_identity_balance_and_revision_request::GetIdentityBalanceAndRevisionRequestV0; +use dapi_grpc::platform::v0::get_identity_balance_request::GetIdentityBalanceRequestV0; +use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::GetIdentityByPublicKeyHashRequestV0; +use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; use dapi_grpc::platform::v0::{GetIdentityBalanceAndRevisionRequest, GetIdentityBalanceRequest}; use dpp::prelude::Identity; @@ -16,7 +20,7 @@ delegate_enum! { IdentityResponse, Identity, (GetIdentity,proto::GetIdentityRequest,proto::GetIdentityResponse), - (GetIdentityByPublicKeyHash, proto::GetIdentityByPublicKeyHashesRequest, proto::GetIdentityByPublicKeyHashesResponse) + (GetIdentityByPublicKeyHash, proto::GetIdentityByPublicKeyHashRequest, proto::GetIdentityByPublicKeyHashResponse) } impl Query for dpp::prelude::Identifier { @@ -25,10 +29,9 @@ impl Query for dpp::prelude::Identifier { unimplemented!("queries without proofs are not supported yet"); } let id = self.to_vec(); - Ok(IdentityRequest::GetIdentity(proto::GetIdentityRequest { - id, - prove: true, - })) + Ok(IdentityRequest::GetIdentity( + GetIdentityRequestV0 { id, prove: true }.into(), + )) } } @@ -44,10 +47,12 @@ impl Query for PublicKeyHash { if !prove { unimplemented!("queries without proofs are not supported yet"); } - let request = proto::GetIdentityByPublicKeyHashesRequest { - prove, - public_key_hash: self.0.to_vec(), - }; + let request: proto::GetIdentityByPublicKeyHashRequest = + GetIdentityByPublicKeyHashRequestV0 { + prove, + public_key_hash: self.0.to_vec(), + } + .into(); Ok(request.into()) } @@ -59,10 +64,7 @@ impl Query for dpp::prelude::Identifier { unimplemented!("queries without proofs are not supported yet"); } let id = self.to_vec(); - Ok(GetIdentityBalanceRequest(proto::GetIdentityRequest { - id, - prove, - })) + Ok(GetIdentityBalanceRequestV0 { id, prove }.into()) } } @@ -72,8 +74,6 @@ impl Query for dpp::prelude::Identifier { unimplemented!("queries without proofs are not supported yet"); } let id = self.to_vec(); - Ok(GetIdentityBalanceAndRevisionRequest( - proto::GetIdentityRequest { id, prove }, - )) + Ok(GetIdentityBalanceAndRevisionRequestV0 { id, prove }.into()) } } diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index adca36ff14..ae97f0a8aa 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -3,7 +3,9 @@ //! [Query] trait is used to specify individual objects as well as search criteria for fetching multiple objects from the platform. use std::fmt::Debug; -use dapi_grpc::platform::v0::{self as proto, AllKeys, KeyRequestType}; +use dapi_grpc::platform::v0::{ + self as proto, get_identity_keys_request::GetIdentityKeysRequestV0, AllKeys, KeyRequestType, +}; use dpp::prelude::Identifier; use drive::query::DriveQuery; use rs_dapi_client::transport::TransportRequest; @@ -80,7 +82,11 @@ impl Query for Identifier { unimplemented!("queries without proofs are not supported yet"); } let id = self.to_vec(); - Ok(proto::GetDataContractRequest { id, prove: true }) + Ok(proto::GetDataContractRequest { + version: Some(proto::get_data_contract_request::Version::V0( + proto::get_data_contract_request::GetDataContractRequestV0 { id, prove: true }, + )), + }) } } @@ -91,15 +97,16 @@ impl Query for Identifier { unimplemented!("queries without proofs are not supported yet"); } let identity_id = self.to_vec(); - Ok(proto::GetIdentityKeysRequest { + Ok(GetIdentityKeysRequestV0 { identity_id, + prove, limit: None, offset: None, request_type: Some(KeyRequestType { request: Some(proto::key_request_type::Request::AllKeys(AllKeys {})), }), - prove: true, - }) + } + .into()) } } diff --git a/packages/rs-sdk/src/sdk.rs b/packages/rs-sdk/src/sdk.rs index 1e9287c5ce..79fcdafc24 100644 --- a/packages/rs-sdk/src/sdk.rs +++ b/packages/rs-sdk/src/sdk.rs @@ -109,7 +109,9 @@ impl Sdk { O::Request: MockRequest, { match self.inner { - SdkInstance::Dapi { .. } => O::maybe_from_proof(request, response, self), + SdkInstance::Dapi { .. } => { + O::maybe_from_proof(request, response, self.version(), self) + } #[cfg(feature = "mocks")] SdkInstance::Mock { ref mock, .. } => mock.parse_proof(request, response), } From 9dd63cdbf86147277f806fa159c17ea2b724df1d Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Tue, 31 Oct 2023 10:35:42 +0700 Subject: [PATCH 04/22] fix(dashmate): reset command doesn't reset configs (#1541) --- packages/dashmate/src/commands/config/get.js | 3 +- packages/dashmate/src/commands/group/reset.js | 17 +--- .../src/listr/tasks/resetNodeTaskFactory.js | 85 ++++++++++++++----- 3 files changed, 68 insertions(+), 37 deletions(-) diff --git a/packages/dashmate/src/commands/config/get.js b/packages/dashmate/src/commands/config/get.js index 03091dff4c..38529cf23f 100644 --- a/packages/dashmate/src/commands/config/get.js +++ b/packages/dashmate/src/commands/config/get.js @@ -15,8 +15,9 @@ class ConfigGetCommand extends ConfigBaseCommand { config, ) { // eslint-disable-next-line no-console - console.log( + console.dir( config.get(optionPath), + { depth: Infinity }, ); } } diff --git a/packages/dashmate/src/commands/group/reset.js b/packages/dashmate/src/commands/group/reset.js index 1febd35ceb..817d27c640 100644 --- a/packages/dashmate/src/commands/group/reset.js +++ b/packages/dashmate/src/commands/group/reset.js @@ -14,8 +14,6 @@ class GroupResetCommand extends GroupBaseCommand { * @param {Config[]} configGroup * @param {configureCoreTask} configureCoreTask * @param {configureTenderdashTask} configureTenderdashTask - * @param {generateToAddressTask} generateToAddressTask - * @param {ConfigFile} configFile * @return {Promise} */ async runWithDependencies( @@ -30,8 +28,6 @@ class GroupResetCommand extends GroupBaseCommand { configGroup, configureCoreTask, configureTenderdashTask, - generateToAddressTask, - configFile, ) { const groupName = configGroup[0].get('group'); @@ -39,7 +35,9 @@ class GroupResetCommand extends GroupBaseCommand { [ { title: `Reset ${groupName} nodes`, - task: () => { + task: (ctx) => { + ctx.removeConfig = ctx.isHardReset && groupName === PRESET_LOCAL; + const resetTasks = configGroup.map((config) => ({ title: `Reset ${config.getName()} node`, task: () => resetNodeTask(config), @@ -48,15 +46,6 @@ class GroupResetCommand extends GroupBaseCommand { return new Listr(resetTasks); }, }, - { - enabled: (ctx) => ctx.isHardReset && groupName === PRESET_LOCAL, - title: 'Delete node configs', - task: () => ( - configGroup - .filter((config) => configFile.isConfigExists(config.getName())) - .forEach((config) => configFile.removeConfig(config.getName())) - ), - }, { enabled: (ctx) => !ctx.isHardReset && !ctx.isPlatformOnlyReset && groupName === PRESET_LOCAL, diff --git a/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js b/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js index 99d19c4884..8ab2f6929f 100644 --- a/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js @@ -13,6 +13,8 @@ const wait = require('../../util/wait'); * @param {HomeDir} homeDir * @param {generateEnvs} generateEnvs * @param {ConfigFileJsonRepository} configFileRepository + * @param {renderServiceTemplates} renderServiceTemplates + * @param {writeServiceConfigs} writeServiceConfigs * @return {resetNodeTask} */ function resetNodeTaskFactory( @@ -25,6 +27,8 @@ function resetNodeTaskFactory( homeDir, generateEnvs, configFileRepository, + renderServiceTemplates, + writeServiceConfigs, ) { /** * @typedef {resetNodeTask} @@ -107,45 +111,82 @@ function resetNodeTaskFactory( }, { title: 'Reset dashmate\'s ephemeral data', - task: (ctx) => { - if (!ctx.isPlatformOnlyReset) { - // TODO: We should remove it from config - config.set('core.miner.mediantime', null); - } + enabled: (ctx) => !ctx.removeConfig && !ctx.isHardReset && !ctx.isPlatformOnlyReset, + task: () => { + // TODO: We should remove it from config + config.set('core.miner.mediantime', null); + + configFileRepository.write(configFile); + + // Render updated service configs + const serviceConfigs = renderServiceTemplates(config); + writeServiceConfigs(config.getName(), serviceConfigs); + }, + }, + { + title: `Remove config ${config.getName()}`, + enabled: (ctx) => ctx.removeConfig, + task: () => { + configFile.removeConfig(config.getName()); + configFileRepository.write(configFile); + + const serviceConfigsPath = homeDir.joinPath(config.getName()); + + fs.rmSync(serviceConfigsPath, { + recursive: true, + force: true, + }); }, }, { title: `Reset config ${config.getName()}`, - enabled: (ctx) => ctx.isHardReset, + enabled: (ctx) => !ctx.removeConfig && ctx.isHardReset, task: (ctx) => { - const baseConfigName = config.get('group') || config.getName(); + const groupName = config.get('group'); + const defaultConfigName = groupName || config.getName(); - if (defaultConfigs.has(baseConfigName)) { - // Reset config if the corresponding base config exists + if (defaultConfigs.has(defaultConfigName)) { + // Reset config if the corresponding default config exists if (ctx.isPlatformOnlyReset) { - const defaultPlatformConfig = defaultConfigs.get(baseConfigName).get('platform'); + const defaultPlatformConfig = defaultConfigs.get(defaultConfigName).get('platform'); config.set('platform', defaultPlatformConfig); } else { - config.setOptions(defaultConfigs.get(baseConfigName).getOptions()); + const defaultConfigOptions = defaultConfigs.get(defaultConfigName).getOptions(); + + config.setOptions(defaultConfigOptions); } + + config.set('group', groupName); + + // Remove service configs + let serviceConfigsPath = homeDir.joinPath(defaultConfigName); + + if (ctx.isPlatformOnlyReset) { + serviceConfigsPath = path.join(serviceConfigsPath, 'platform'); + } + + fs.rmSync(serviceConfigsPath, { + recursive: true, + force: true, + }); + + // Render updated service configs + const serviceConfigs = renderServiceTemplates(config); + writeServiceConfigs(config.getName(), serviceConfigs); } else { // Delete config if no base config configFile.removeConfig(config.getName()); - } - configFileRepository.write(configFile); - - // Remove service configs - let serviceConfigsPath = homeDir.joinPath(baseConfigName); + // Remove service configs + const serviceConfigsPath = homeDir.joinPath(defaultConfigName); - if (ctx.isPlatformOnlyReset) { - serviceConfigsPath = path.join(serviceConfigsPath, 'platform'); + fs.rmSync(serviceConfigsPath, { + recursive: true, + force: true, + }); } - fs.rmSync(serviceConfigsPath, { - recursive: true, - force: true, - }); + configFileRepository.write(configFile); }, }, ]); From fe8deacf3dd7a993199d58105208d4bc948f91a2 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Tue, 31 Oct 2023 13:55:52 +0700 Subject: [PATCH 05/22] feat(dashmate): docker build command (#1546) Co-authored-by: strophy <32928115+strophy@users.noreply.github.com> --- .../dashmate/src/commands/docker/build.js | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 packages/dashmate/src/commands/docker/build.js diff --git a/packages/dashmate/src/commands/docker/build.js b/packages/dashmate/src/commands/docker/build.js new file mode 100644 index 0000000000..ee4b79f194 --- /dev/null +++ b/packages/dashmate/src/commands/docker/build.js @@ -0,0 +1,63 @@ +const { Listr } = require('listr2'); + +const ConfigBaseCommand = require('../../oclif/command/ConfigBaseCommand'); + +const MuteOneLineError = require('../../oclif/errors/MuteOneLineError'); +const isServiceBuildRequired = require('../../util/isServiceBuildRequired'); + +class BuildCommand extends ConfigBaseCommand { + /** + * @param {Object} args + * @param {Object} flags + * @param {buildServicesTask} buildServicesTask + * @param {Config} config + * @return {Promise} + */ + async runWithDependencies( + args, + { + verbose: isVerbose, + }, + buildServicesTask, + config, + ) { + if (!isServiceBuildRequired(config)) { + throw new Error('No services are configured to be built from sources'); + } + + const tasks = new Listr( + [ + { + task: () => buildServicesTask(config), + }, + ], + { + renderer: isVerbose ? 'verbose' : 'default', + rendererOptions: { + showTimer: isVerbose, + clearOutput: false, + collapse: false, + showSubtasks: true, + }, + }, + ); + + try { + await tasks.run({ + isVerbose, + }); + } catch (e) { + throw new MuteOneLineError(e); + } + } +} + +BuildCommand.description = `Build docker images +Build docker images for services configured to be built from source +`; + +BuildCommand.flags = { + ...ConfigBaseCommand.flags, +}; + +module.exports = BuildCommand; From f51906a4132c44b3d3d8ae62a9d88e8c7a926595 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Tue, 31 Oct 2023 13:55:52 +0700 Subject: [PATCH 06/22] feat(dashmate): docker build command (#1546) Co-authored-by: strophy <32928115+strophy@users.noreply.github.com> --- .../dashmate/src/commands/docker/build.js | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 packages/dashmate/src/commands/docker/build.js diff --git a/packages/dashmate/src/commands/docker/build.js b/packages/dashmate/src/commands/docker/build.js new file mode 100644 index 0000000000..ee4b79f194 --- /dev/null +++ b/packages/dashmate/src/commands/docker/build.js @@ -0,0 +1,63 @@ +const { Listr } = require('listr2'); + +const ConfigBaseCommand = require('../../oclif/command/ConfigBaseCommand'); + +const MuteOneLineError = require('../../oclif/errors/MuteOneLineError'); +const isServiceBuildRequired = require('../../util/isServiceBuildRequired'); + +class BuildCommand extends ConfigBaseCommand { + /** + * @param {Object} args + * @param {Object} flags + * @param {buildServicesTask} buildServicesTask + * @param {Config} config + * @return {Promise} + */ + async runWithDependencies( + args, + { + verbose: isVerbose, + }, + buildServicesTask, + config, + ) { + if (!isServiceBuildRequired(config)) { + throw new Error('No services are configured to be built from sources'); + } + + const tasks = new Listr( + [ + { + task: () => buildServicesTask(config), + }, + ], + { + renderer: isVerbose ? 'verbose' : 'default', + rendererOptions: { + showTimer: isVerbose, + clearOutput: false, + collapse: false, + showSubtasks: true, + }, + }, + ); + + try { + await tasks.run({ + isVerbose, + }); + } catch (e) { + throw new MuteOneLineError(e); + } + } +} + +BuildCommand.description = `Build docker images +Build docker images for services configured to be built from source +`; + +BuildCommand.flags = { + ...ConfigBaseCommand.flags, +}; + +module.exports = BuildCommand; From 2a9538074f566fd33a11ac4632b964e8f8db158d Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Tue, 31 Oct 2023 18:01:08 +0700 Subject: [PATCH 07/22] feat(dashmate): configure dashd command arguments (#1520) --- .../configs/defaults/getBaseConfigFactory.js | 1 + .../configs/getConfigFileMigrationsFactory.js | 3 ++- .../configFile/migrateConfigFileFactory.js | 2 +- .../dashmate/src/config/configJsonSchema.js | 17 +++++++++++++- .../src/config/generateEnvsFactory.js | 23 +++++-------------- .../templates/dynamic-compose.yml.dot | 19 +++++++++++++++ .../drive/abci/compose-volumes.yml.dot | 11 --------- .../migrateConfigFileFactory.spec.js | 2 +- 8 files changed, 46 insertions(+), 32 deletions(-) create mode 100644 packages/dashmate/templates/dynamic-compose.yml.dot delete mode 100644 packages/dashmate/templates/platform/drive/abci/compose-volumes.yml.dot diff --git a/packages/dashmate/configs/defaults/getBaseConfigFactory.js b/packages/dashmate/configs/defaults/getBaseConfigFactory.js index ef54568545..32b0855d98 100644 --- a/packages/dashmate/configs/defaults/getBaseConfigFactory.js +++ b/packages/dashmate/configs/defaults/getBaseConfigFactory.js @@ -66,6 +66,7 @@ function getBaseConfigFactory(homeDir) { core: { docker: { image: 'dashpay/dashd:20.0.0-beta.4', + commandArgs: [], }, p2p: { port: 9999, diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index 319328f45e..b681c54453 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -273,7 +273,8 @@ function getConfigFileMigrationsFactory(homeDir, defaultConfigs) { '1.0.0-dev.1': (configFile) => { Object.entries(configFile.configs) .forEach(([, options]) => { - options.platform.tenderdash.log.level = 'info'; + options.platform.drive.tenderdash.log.level = 'info'; + options.core.docker.commandArgs = []; }); return configFile; diff --git a/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js b/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js index c40fafa344..c7b4cf1748 100644 --- a/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js +++ b/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js @@ -18,7 +18,7 @@ function migrateConfigFileFactory(getConfigFileMigrations) { const configFileMigrations = getConfigFileMigrations(); return Object.keys(configFileMigrations) - .filter((version) => (semver.gt(version, fromVersion) && semver.lte(version, toVersion))) + .filter((version) => semver.gt(version, fromVersion)) .sort(semver.compare) .reduce((migratedOptions, version) => { const migrationFunction = configFileMigrations[version]; diff --git a/packages/dashmate/src/config/configJsonSchema.js b/packages/dashmate/src/config/configJsonSchema.js index 54041ac5e9..3d56dff3a2 100644 --- a/packages/dashmate/src/config/configJsonSchema.js +++ b/packages/dashmate/src/config/configJsonSchema.js @@ -119,7 +119,22 @@ module.exports = { type: 'object', properties: { docker: { - $ref: '#/definitions/docker', + type: 'object', + properties: { + image: { + type: 'string', + minLength: 1, + }, + commandArgs: { + type: 'array', + items: { + type: 'string', + minLength: 1, + }, + }, + }, + required: ['image', 'commandArgs'], + additionalProperties: false, }, p2p: { type: 'object', diff --git a/packages/dashmate/src/config/generateEnvsFactory.js b/packages/dashmate/src/config/generateEnvsFactory.js index 25ac334ff6..5d0b9152ba 100644 --- a/packages/dashmate/src/config/generateEnvsFactory.js +++ b/packages/dashmate/src/config/generateEnvsFactory.js @@ -24,7 +24,12 @@ function generateEnvsFactory(configFile, homeDir, getConfigProfiles) { * }} */ function generateEnvs(config) { - const dockerComposeFiles = ['docker-compose.yml']; + const dynamicComposePath = homeDir.joinPath( + config.getName(), + 'dynamic-compose.yml', + ); + + const dockerComposeFiles = ['docker-compose.yml', dynamicComposePath]; const profiles = getConfigProfiles(config); @@ -41,22 +46,6 @@ function generateEnvsFactory(configFile, homeDir, getConfigProfiles) { dockerComposeFiles.push('docker-compose.build.dapi_api.yml'); dockerComposeFiles.push('docker-compose.build.dapi_tx_filter_stream.yml'); } - - const fileLogs = Object.entries(config.get('platform.drive.abci.logs')).filter(([, settings]) => ( - settings.destination !== 'stdout' && settings.destination !== 'stderr' - )); - - if (fileLogs.length > 0) { - const composeVolumesPath = homeDir.joinPath( - config.getName(), - 'platform', - 'drive', - 'abci', - 'compose-volumes.yml', - ); - - dockerComposeFiles.push(composeVolumesPath); - } } // we need this for compatibility with old configs diff --git a/packages/dashmate/templates/dynamic-compose.yml.dot b/packages/dashmate/templates/dynamic-compose.yml.dot new file mode 100644 index 0000000000..84fed7fa04 --- /dev/null +++ b/packages/dashmate/templates/dynamic-compose.yml.dot @@ -0,0 +1,19 @@ +version: '3.7' + +services: + core: + command: + - dashd + {{~ it.core.docker.commandArgs :arg }} + - {{=arg}} + {{~}} + + {{ driveLogs = Object.entries(it.platform.drive.abci.logs).filter(([, settings]) => settings.destination !== 'stderr' && settings.destination !== 'stdout'); }} + {{? driveLogs.length > 0 }} + drive_abci: + volumes: + {{~ driveLogs :logger }} + {{ [name, settings] = logger; }} + - {{=settings.destination}}:/var/log/dash/drive/{{=name}}/{{=settings.destination.split('/').reverse()[0]}} + {{~}} + {{?}} diff --git a/packages/dashmate/templates/platform/drive/abci/compose-volumes.yml.dot b/packages/dashmate/templates/platform/drive/abci/compose-volumes.yml.dot deleted file mode 100644 index bf09c5565f..0000000000 --- a/packages/dashmate/templates/platform/drive/abci/compose-volumes.yml.dot +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.7' - -services: - drive_abci: - volumes: - {{~ Object.entries(it.platform.drive.abci.logs) :logger }} - {{ [name, settings] = logger; }} - {{? settings.destination !== 'stderr' && settings.destination !== 'stdout' }} - - {{=settings.destination}}:/var/log/dash/drive/{{=name}}/{{=settings.destination.split('/').reverse()[0]}} - {{?}} - {{~}} diff --git a/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js b/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js index 156acd8a4f..eac159116d 100644 --- a/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js +++ b/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js @@ -37,7 +37,7 @@ describe('MigrateConfigFileCommand', () => { const myConfig = migratedConfigFileData.configs[configName]; const isValid = ajv.validate(configJsonSchema, myConfig); - expect(isValid).to.equal(true); + expect(isValid).to.equal(true, `${configName} config is invalid: ${ajv.errorsText()}`); let targetConfig; From 3323dd84e448371a1e959f176e287bd7a9cc0f28 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Wed, 1 Nov 2023 13:14:16 +0700 Subject: [PATCH 08/22] feat!: identity funding with asset lock special transactions (#1510) Co-authored-by: markin.io --- .pnp.cjs | 24 +- ...e-lib-npm-0.20.9-2b8a961230-a92adaf441.zip | Bin 899109 -> 0 bytes ...e-lib-npm-0.21.0-1997e852e6-eb255e4118.zip | Bin 0 -> 885501 bytes Cargo.lock | 11 +- packages/bench-suite/package.json | 2 +- packages/dapi/package.json | 2 +- packages/dash-spv/package.json | 2 +- .../configs/defaults/getBaseConfigFactory.js | 2 +- .../configs/getConfigFileMigrationsFactory.js | 5 + packages/dashmate/package.json | 2 +- packages/dashmate/src/config/HomeDir.js | 21 +- .../configFile/migrateConfigFileFactory.js | 11 +- .../docker/ensureFileMountExistsFactory.js | 6 +- .../test/fixtures/getConfigFileDataV0250.js | 1043 +++++++++++++++++ .../dashmate/templates/core/dash.conf.dot | 4 +- .../migrateConfigFileFactory.spec.js | 85 +- .../configFile/mock_config_v0.25.0.json | 1036 ---------------- packages/js-dapi-client/package.json | 2 +- packages/js-dash-sdk/package.json | 2 +- .../Platform/createAssetLockTransaction.ts | 34 +- .../internal/createAssetLockProof.ts | 10 +- .../Platform/methods/identities/register.ts | 2 +- packages/platform-test-suite/package.json | 2 +- .../test/functional/platform/Identity.spec.js | 95 +- .../test/functional/platform/proofs.spec.js | 8 +- packages/rs-dpp/src/block/block_info/mod.rs | 10 +- ...licated_identity_public_key_basic_error.rs | 2 +- ...ated_identity_public_key_id_basic_error.rs | 2 +- ...nsaction_out_point_already_exists_error.rs | 2 +- ...lock_transaction_output_not_found_error.rs | 2 +- ...set_lock_transaction_output_return_size.rs | 2 +- ...d_identity_asset_lock_transaction_error.rs | 2 +- ...ity_asset_lock_transaction_output_error.rs | 2 +- .../invalid_instant_asset_lock_proof_error.rs | 2 +- .../identity/identity_already_exists_error.rs | 2 +- .../identity_insufficient_balance_error.rs | 2 +- ...exists_for_unique_contract_bounds_error.rs | 2 +- packages/rs-dpp/src/errors/protocol_error.rs | 13 +- .../rs-dpp/src/identity/identity_factory.rs | 1 + .../chain/chain_asset_lock_proof.rs | 45 +- .../asset_lock_proof/chain/mod.rs | 1 - .../instant/instant_asset_lock_proof.rs | 119 +- .../state_transition/asset_lock_proof/mod.rs | 102 +- .../mod.rs | 28 + .../v0/mod.rs | 50 + .../src/identity/state_transition/mod.rs | 17 + .../src/serialization/serialization_traits.rs | 1 + .../accessors/mod.rs | 17 - .../accessors/v0/mod.rs | 9 - .../identity_create_transition/mod.rs | 1 + .../identity_create_transition/proved.rs | 21 + .../identity_create_transition/v0/mod.rs | 2 + .../identity_create_transition/v0/proved.rs | 21 + .../v0/v0_methods.rs | 18 +- .../v0/value_conversion.rs | 1 + .../accessors/mod.rs | 14 - .../accessors/v0/mod.rs | 6 +- .../identity/identity_topup_transition/mod.rs | 1 + .../identity_topup_transition/proved.rs | 21 + .../identity_topup_transition/v0/mod.rs | 1 + .../identity_topup_transition/v0/proved.rs | 19 + .../v0/v0_methods.rs | 10 - ...entity_topup_transition_basic_validator.rs | 93 -- .../validation/basic/mod.rs | 3 - .../validation/mod.rs | 2 - .../validation/state/mod.rs | 71 -- .../instant_asset_lock_proof_fixture.rs | 39 +- packages/rs-drive-abci/Cargo.toml | 2 +- .../src/execution/check_tx/v0/mod.rs | 110 +- .../initialization/init_chain/v0/mod.rs | 17 +- .../block_end/update_state_cache/v0/mod.rs | 2 +- .../v0/mod.rs | 2 +- .../v0/mod.rs | 2 +- .../execute_event/v0/mod.rs | 9 +- .../process_raw_state_transitions/v0/mod.rs | 1 + .../execution/types/execution_event/mod.rs | 3 +- .../validation/asset_lock/fetch_tx_out/mod.rs | 2 - .../asset_lock/fetch_tx_out/v0/mod.rs | 156 --- .../execution/validation/asset_lock/mod.rs | 2 - .../data_trigger/dashpay_data_triggers/mod.rs | 361 ------ .../src/execution/validation/mod.rs | 2 - .../state_transition/common/asset_lock/mod.rs | 5 + .../common/asset_lock/proof/chain/mod.rs | 58 + .../common/asset_lock/proof/instant/mod.rs | 68 ++ .../common/asset_lock/proof/mod.rs | 52 + .../mod.rs | 35 + .../v0/mod.rs | 127 ++ .../common/asset_lock/transaction/mod.rs | 1 + .../validation/state_transition/common/mod.rs | 2 + .../state_transition/processor/v0/mod.rs | 4 + .../data_contract_update/mod.rs | 3 + .../identity_and_signatures/v0/mod.rs | 7 +- .../identity_create/state/v0/mod.rs | 92 +- .../identity_create/structure/v0/mod.rs | 9 + .../state_transitions/identity_top_up/mod.rs | 5 +- .../identity_top_up/state/v0/mod.rs | 97 +- .../identity_top_up/structure/v0/mod.rs | 17 +- .../v0/mod.rs | 4 + .../src/platform_types/platform/mod.rs | 3 + .../src/platform_types/platform_state/mod.rs | 25 +- .../platform_types/platform_state/v0/mod.rs | 72 +- packages/rs-drive-abci/src/rpc/core.rs | 96 +- packages/rs-drive-abci/src/rpc/mod.rs | 2 + packages/rs-drive-abci/src/rpc/signature.rs | 42 + .../tests/strategy_tests/execution.rs | 6 + .../tests/strategy_tests/main.rs | 6 +- .../verify_state_transitions.rs | 11 +- .../v0/mod.rs | 3 +- .../has_asset_lock_outpoint/v0/mod.rs | 3 +- .../get_epoch_fee_multiplier/v0/mod.rs | 4 +- .../proposers/get_epoch_proposers/v0/mod.rs | 6 +- .../get_epochs_proposer_block_count/v0/mod.rs | 4 +- .../v0/mod.rs | 4 +- .../get_epoch_start_block_height/v0/mod.rs | 4 +- .../v0/mod.rs | 8 +- .../start_time/get_epoch_start_time/v0/mod.rs | 4 +- .../v0/mod.rs | 4 +- .../v0/mod.rs | 4 +- .../fetch_pending_epoch_refunds/v0/mod.rs | 4 +- .../drive/credit_pools/unpaid_epoch/mod.rs | 4 +- .../fetch_identity_negative_balance/v0/mod.rs | 4 +- .../rs-drive/src/drive/identity/fetch/mod.rs | 4 +- .../src/drive/identity/key/fetch/mod.rs | 7 +- .../fetch_current_protocol_version/v0/mod.rs | 2 +- .../fetch_next_protocol_version/v0/mod.rs | 2 +- packages/rs-drive/src/error/drive.rs | 2 +- .../rs-drive/src/fee_pools/epochs/paths.rs | 4 +- .../identity/identity_create/mod.rs | 2 +- .../identity/identity_create/transformer.rs | 5 +- .../identity_create/v0/transformer.rs | 54 +- .../identity/identity_topup/mod.rs | 2 +- .../identity/identity_topup/transformer.rs | 5 +- .../identity/identity_topup/v0/transformer.rs | 53 +- .../src/version/dpp_versions.rs | 11 + .../src/version/drive_abci_versions.rs | 8 +- .../src/version/mocks/v2_test.rs | 26 +- .../src/version/mocks/v3_test.rs | 26 +- .../rs-platform-version/src/version/v1.rs | 26 +- packages/simple-signer/Cargo.toml | 2 +- packages/strategy-tests/Cargo.toml | 2 +- packages/strategy-tests/src/transitions.rs | 42 +- packages/wallet-lib/package.json | 2 +- .../fixtures/getChainAssetLockProofFixture.js | 1 - .../getInstantAssetLockProofFixture.js | 44 +- packages/wasm-dpp/package.json | 2 +- .../identity_insufficient_balance_error.rs | 6 +- .../wasm-dpp/src/identity/identity_facade.rs | 12 +- .../chain/chain_asset_lock_proof.rs | 49 +- .../instant/instant_asset_lock_proof.rs | 35 +- .../state_transition/asset_lock_proof/mod.rs | 23 +- .../identity_create_transition.rs | 1 + .../identity_create_transition/to_object.rs | 1 + .../identity_topup_transition.rs | 1 + .../identity_topup_transition/to_object.rs | 1 + .../identity/IdentityFacade.spec.js | 3 +- .../ChainAssetLockProof.spec.js | 7 - .../InstantAssetLockProof.spec.js | 18 +- scripts/configure_test_suite.sh | 3 +- scripts/configure_test_suite_network.sh | 3 +- yarn.lock | 26 +- 160 files changed, 2688 insertions(+), 2605 deletions(-) delete mode 100644 .yarn/cache/@dashevo-dashcore-lib-npm-0.20.9-2b8a961230-a92adaf441.zip create mode 100644 .yarn/cache/@dashevo-dashcore-lib-npm-0.21.0-1997e852e6-eb255e4118.zip create mode 100644 packages/dashmate/src/test/fixtures/getConfigFileDataV0250.js delete mode 100644 packages/dashmate/test/unit/commands/config/configFile/mock_config_v0.25.0.json create mode 100644 packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/mod.rs create mode 100644 packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/v0/mod.rs create mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/proved.rs create mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/proved.rs create mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/proved.rs create mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/proved.rs delete mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/identity_topup_transition_basic_validator.rs delete mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/mod.rs delete mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/mod.rs delete mode 100644 packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/state/mod.rs delete mode 100644 packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/mod.rs delete mode 100644 packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/v0/mod.rs delete mode 100644 packages/rs-drive-abci/src/execution/validation/asset_lock/mod.rs delete mode 100644 packages/rs-drive-abci/src/execution/validation/data_trigger/dashpay_data_triggers/mod.rs create mode 100644 packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/mod.rs create mode 100644 packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/chain/mod.rs create mode 100644 packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/instant/mod.rs create mode 100644 packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/mod.rs create mode 100644 packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/mod.rs create mode 100644 packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/mod.rs create mode 100644 packages/rs-drive-abci/src/rpc/signature.rs diff --git a/.pnp.cjs b/.pnp.cjs index 86ff3040a0..bbf824d871 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2319,7 +2319,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./packages/bench-suite/",\ "packageDependencies": [\ ["@dashevo/bench-suite", "workspace:packages/bench-suite"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/dpns-contract", "workspace:packages/dpns-contract"],\ ["@dashevo/wallet-lib", "workspace:packages/wallet-lib"],\ ["@dashevo/wasm-dpp", "workspace:packages/wasm-dpp"],\ @@ -2355,7 +2355,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@dashevo/bls", "npm:1.2.9"],\ ["@dashevo/dapi-client", "workspace:packages/js-dapi-client"],\ ["@dashevo/dapi-grpc", "workspace:packages/dapi-grpc"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/dashd-rpc", "npm:18.2.0"],\ ["@dashevo/dp-services-ctl", "https://github.com/dashevo/js-dp-services-ctl.git#commit=3976076b0018c5b4632ceda4c752fc597f27a640"],\ ["@dashevo/grpc-common", "workspace:packages/js-grpc-common"],\ @@ -2398,7 +2398,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/core", "npm:7.16.0"],\ ["@dashevo/dapi-grpc", "workspace:packages/dapi-grpc"],\ ["@dashevo/dash-spv", "workspace:packages/dash-spv"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/grpc-common", "workspace:packages/js-grpc-common"],\ ["@dashevo/wasm-dpp", "workspace:packages/wasm-dpp"],\ ["assert-browserify", "npm:2.0.0"],\ @@ -2490,7 +2490,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@dashevo/dash-spv", "workspace:packages/dash-spv"],\ ["@dashevo/dark-gravity-wave", "npm:1.1.1"],\ ["@dashevo/dash-util", "npm:2.0.3"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["chai", "npm:4.3.9"],\ ["eslint", "npm:7.32.0"],\ ["eslint-config-airbnb-base", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:14.2.1"],\ @@ -2517,10 +2517,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@dashevo/dashcore-lib", [\ - ["npm:0.20.9", {\ - "packageLocation": "./.yarn/cache/@dashevo-dashcore-lib-npm-0.20.9-2b8a961230-a92adaf441.zip/node_modules/@dashevo/dashcore-lib/",\ + ["npm:0.21.0", {\ + "packageLocation": "./.yarn/cache/@dashevo-dashcore-lib-npm-0.21.0-1997e852e6-eb255e4118.zip/node_modules/@dashevo/dashcore-lib/",\ "packageDependencies": [\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/bls", "npm:1.2.9"],\ ["@dashevo/x11-hash-js", "npm:1.0.2"],\ ["@types/node", "npm:12.20.37"],\ @@ -2729,7 +2729,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["@dashevo/platform-test-suite", "workspace:packages/platform-test-suite"],\ ["@dashevo/dapi-client", "workspace:packages/js-dapi-client"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/dpns-contract", "workspace:packages/dpns-contract"],\ ["@dashevo/feature-flags-contract", "workspace:packages/feature-flags-contract"],\ ["@dashevo/grpc-common", "workspace:packages/js-grpc-common"],\ @@ -2823,7 +2823,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@dashevo/wallet-lib", "workspace:packages/wallet-lib"],\ ["@dashevo/dapi-client", "workspace:packages/js-dapi-client"],\ ["@dashevo/dash-spv", "workspace:packages/dash-spv"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/grpc-common", "workspace:packages/js-grpc-common"],\ ["@dashevo/wasm-dpp", "workspace:packages/wasm-dpp"],\ ["@yarnpkg/pnpify", "npm:4.0.0-rc.42"],\ @@ -2884,7 +2884,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/core", "npm:7.16.0"],\ ["@babel/preset-env", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:7.16.4"],\ ["@dashevo/bls", "npm:1.2.9"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/dpns-contract", "workspace:packages/dpns-contract"],\ ["@types/bs58", "npm:4.0.1"],\ ["@types/node", "npm:14.17.34"],\ @@ -8001,7 +8001,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@dashevo/bls", "npm:1.2.9"],\ ["@dashevo/dapi-client", "workspace:packages/js-dapi-client"],\ ["@dashevo/dapi-grpc", "workspace:packages/dapi-grpc"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/dashpay-contract", "workspace:packages/dashpay-contract"],\ ["@dashevo/dpns-contract", "workspace:packages/dpns-contract"],\ ["@dashevo/grpc-common", "workspace:packages/js-grpc-common"],\ @@ -8076,7 +8076,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["dashmate", "workspace:packages/dashmate"],\ ["@dashevo/bls", "npm:1.2.9"],\ - ["@dashevo/dashcore-lib", "npm:0.20.9"],\ + ["@dashevo/dashcore-lib", "npm:0.21.0"],\ ["@dashevo/dashd-rpc", "npm:18.2.0"],\ ["@dashevo/dashpay-contract", "workspace:packages/dashpay-contract"],\ ["@dashevo/docker-compose", "npm:0.24.4"],\ diff --git a/.yarn/cache/@dashevo-dashcore-lib-npm-0.20.9-2b8a961230-a92adaf441.zip b/.yarn/cache/@dashevo-dashcore-lib-npm-0.20.9-2b8a961230-a92adaf441.zip deleted file mode 100644 index 614db5b0180047a13cc07d7d59ad898380593320..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 899109 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 z%0D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%0A(W9Q(3y}NJuX5h?-uz%s;0vi!#7Z!K# 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
Ck4kQR|I*28vE35MQSzzFjnga+NGE@b#a#T=H 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 z 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μ$3m~g5 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�i5{_#)$cSO$T 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

j{t6ka}Olh5aij&=%|{olganG(sNYN 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

m@9`cp^qxfi=F3JSshfa=#;L2yw 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�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≥6~6G%r!_xk!O@CKO5FnmeF!CE-D~y6~Tf67c|Rk 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

U9?zp66s{k>W&pa`9>2J|^z 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

8Ef{xePo)zR=sDeqr&0F#H9 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

a-vpr`lfK5w# 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 s-yfhk414%VkAGl`DUJoZ|G { options.platform.drive.tenderdash.log.level = 'info'; + + if (options.network !== NETWORK_MAINNET) { + options.core.docker.image = base.get('core.docker.image'); + } + options.core.docker.commandArgs = []; }); diff --git a/packages/dashmate/package.json b/packages/dashmate/package.json index 3ef1bf0506..6c8880abd6 100644 --- a/packages/dashmate/package.json +++ b/packages/dashmate/package.json @@ -54,7 +54,7 @@ "homepage": "https://github.com/dashevo/dashmate#readme", "dependencies": { "@dashevo/bls": "~1.2.9", - "@dashevo/dashcore-lib": "~0.20.9", + "@dashevo/dashcore-lib": "~0.21.0", "@dashevo/dashd-rpc": "^18.2.0", "@dashevo/dashpay-contract": "workspace:*", "@dashevo/docker-compose": "^0.24.4", diff --git a/packages/dashmate/src/config/HomeDir.js b/packages/dashmate/src/config/HomeDir.js index 1409594eb5..27da9edb91 100644 --- a/packages/dashmate/src/config/HomeDir.js +++ b/packages/dashmate/src/config/HomeDir.js @@ -14,17 +14,20 @@ class HomeDir { /** * * @param {string} path - Use the current home dir if not present + * @param {boolean} [skipValidation=false] - Do not validate path */ - constructor(path) { - if (!fs.existsSync(path)) { - throw new HomeDirDoesNotExistError(path); - } + constructor(path, skipValidation = false) { + if (!skipValidation) { + if (!fs.existsSync(path)) { + throw new HomeDirDoesNotExistError(path); + } - try { - // eslint-disable-next-line no-bitwise - fs.accessSync(path, fs.constants.R_OK | fs.constants.W_OK); - } catch (e) { - throw new HomeDirIsNotWritableError(path); + try { + // eslint-disable-next-line no-bitwise + fs.accessSync(path, fs.constants.R_OK | fs.constants.W_OK); + } catch (e) { + throw new HomeDirIsNotWritableError(path); + } } this.#path = path; diff --git a/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js b/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js index c7b4cf1748..aec68165ad 100644 --- a/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js +++ b/packages/dashmate/src/config/configFile/migrateConfigFileFactory.js @@ -9,21 +9,26 @@ function migrateConfigFileFactory(getConfigFileMigrations) { * @returns {Object} */ function migrateConfigFile(rawConfigFile, fromVersion, toVersion) { - // TODO: We just need to migrate up to the latest version in migrations - // to handle properly development process when you work on non-released version if (fromVersion === toVersion) { return rawConfigFile; } const configFileMigrations = getConfigFileMigrations(); - return Object.keys(configFileMigrations) + /** + * @type {Object} + */ + const migratedConfigFile = Object.keys(configFileMigrations) .filter((version) => semver.gt(version, fromVersion)) .sort(semver.compare) .reduce((migratedOptions, version) => { const migrationFunction = configFileMigrations[version]; return migrationFunction(rawConfigFile); }, rawConfigFile); + + migratedConfigFile.configFormatVersion = toVersion; + + return migratedConfigFile; } return migrateConfigFile; diff --git a/packages/dashmate/src/docker/ensureFileMountExistsFactory.js b/packages/dashmate/src/docker/ensureFileMountExistsFactory.js index c7c6d87a31..f2087e6054 100644 --- a/packages/dashmate/src/docker/ensureFileMountExistsFactory.js +++ b/packages/dashmate/src/docker/ensureFileMountExistsFactory.js @@ -2,14 +2,14 @@ const fs = require('fs'); const path = require('path'); /** - * @return {resolveDockerHostIp} + * @return {ensureFileMountExists} */ function ensureFileMountExistsFactory() { /** - * @typedef {resolveDockerHostIp} + * @typedef {ensureFileMountExists} * @param {string} filePath * @param {string|number} [mode] - https://nodejs.org/api/fs.html#fschmodpath-mode-callback - * @return {Promise} + * @return {void} */ function ensureFileMountExists(filePath, mode = undefined) { // Remove directory that could potentially be created by Docker mount diff --git a/packages/dashmate/src/test/fixtures/getConfigFileDataV0250.js b/packages/dashmate/src/test/fixtures/getConfigFileDataV0250.js new file mode 100644 index 0000000000..5354155d2d --- /dev/null +++ b/packages/dashmate/src/test/fixtures/getConfigFileDataV0250.js @@ -0,0 +1,1043 @@ +const path = require('path'); +const { PACKAGE_ROOT_DIR } = require('../../constants'); + +function getConfigFileDataV0250() { + return { + configFormatVersion: '0.25.0', + defaultConfigName: 'testnet', + defaultGroupName: null, + group: null, + configs: { + base: { + description: 'base config for use as template', + group: null, + docker: { + network: { + subnet: '0.0.0.0/0', + bindIp: '0.0.0.0', + }, + baseImage: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: '', + }, + }, + }, + core: { + docker: { + image: 'dashpay/dashd:20.0.0-beta.4', + }, + p2p: { + port: 9999, + seeds: [], + }, + rpc: { + port: 9998, + user: 'dashrpc', + password: 'rpcpassword', + allowIps: [ + '127.0.0.1', + '172.16.0.0/12', + '192.168.0.0/16', + ], + }, + spork: { + address: null, + privateKey: null, + }, + masternode: { + enable: true, + operator: { + privateKey: null, + }, + }, + miner: { + enable: false, + interval: '2.5m', + mediantime: null, + address: null, + }, + devnet: { + name: null, + minimumDifficultyBlocks: 0, + powTargetSpacing: 150, + }, + log: { + file: { + categories: [], + path: '/Users/dashmate/.dashmate/logs/base/core.log', + }, + }, + logIps: 0, + indexes: true, + }, + platform: { + dapi: { + envoy: { + docker: { + image: 'dashpay/envoy:1.22.11', + }, + http: { + port: 443, + }, + rateLimiter: { + maxTokens: 300, + tokensPerFill: 150, + fillInterval: '60s', + enabled: true, + }, + ssl: { + enabled: false, + provider: 'zerossl', + providerConfigs: { + zerossl: { + apiKey: null, + id: null, + }, + }, + }, + }, + api: { + docker: { + image: 'dashpay/dapi:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dapi', + }, + }, + }, + }, + drive: { + abci: { + docker: { + image: 'dashpay/drive:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'drive-abci', + }, + }, + log: { + stdout: { + level: 'info', + }, + prettyFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/base/drive-pretty.log', + }, + jsonFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/base/drive-json.log', + }, + }, + validatorSet: { + llmqType: 4, + }, + epochTime: 788400, + }, + tenderdash: { + mode: 'full', + docker: { + image: 'dashpay/tenderdash:0.13.2', + }, + p2p: { + port: 26656, + persistentPeers: [], + seeds: [], + }, + rpc: { + port: 26657, + }, + pprof: { + enabled: false, + port: 6060, + }, + metrics: { + enabled: false, + port: 26660, + }, + consensus: { + createEmptyBlocks: true, + createEmptyBlocksInterval: '3m', + }, + log: { + level: 'debug', + format: 'plain', + path: null, + }, + node: { + id: null, + key: null, + }, + genesis: { + consensus_params: { + block: { + max_bytes: '22020096', + max_gas: '-1', + time_iota_ms: '5000', + }, + evidence: { + max_age: '100000', + max_age_num_blocks: '100000', + max_age_duration: '172800000000000', + }, + validator: { + pub_key_types: [ + 'bls12381', + ], + }, + version: { + app_version: '1', + }, + }, + }, + moniker: null, + }, + }, + dpns: { + contract: { + id: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', + }, + ownerId: '4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF', + masterPublicKey: null, + secondPublicKey: null, + }, + dashpay: { + contract: { + id: 'Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + featureFlags: { + contract: { + id: 'HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh', + }, + ownerId: 'H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6', + masterPublicKey: null, + secondPublicKey: null, + }, + sourcePath: null, + masternodeRewardShares: { + contract: { + id: 'rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + withdrawals: { + contract: { + id: '4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + enable: true, + }, + dashmate: { + helper: { + docker: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dashmate-helper', + }, + }, + api: { + enable: false, + port: 9100, + }, + }, + }, + externalIp: null, + network: 'testnet', + environment: 'production', + }, + local: { + description: 'template for local configs', + group: null, + docker: { + network: { + subnet: '172.24.24.0/24', + bindIp: '0.0.0.0', + }, + baseImage: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: '', + }, + }, + }, + core: { + docker: { + image: 'dashpay/dashd:20.0.0-beta.4', + }, + p2p: { + port: 20001, + seeds: [], + }, + rpc: { + port: 20002, + user: 'dashrpc', + password: 'rpcpassword', + allowIps: [ + '127.0.0.1', + '172.16.0.0/12', + '192.168.0.0/16', + ], + }, + spork: { + address: null, + privateKey: null, + }, + masternode: { + enable: true, + operator: { + privateKey: null, + }, + }, + miner: { + enable: false, + interval: '2.5m', + mediantime: null, + address: null, + }, + devnet: { + name: null, + minimumDifficultyBlocks: 0, + powTargetSpacing: 150, + }, + log: { + file: { + categories: [], + path: '/Users/dashmate/.dashmate/logs/base/core.log', + }, + }, + logIps: 0, + indexes: true, + }, + platform: { + dapi: { + envoy: { + docker: { + image: 'dashpay/envoy:1.22.11', + }, + http: { + port: 2443, + }, + rateLimiter: { + maxTokens: 300, + tokensPerFill: 150, + fillInterval: '60s', + enabled: false, + }, + ssl: { + enabled: false, + provider: 'zerossl', + providerConfigs: { + zerossl: { + apiKey: null, + id: null, + }, + }, + }, + }, + api: { + docker: { + image: 'dashpay/dapi:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dapi', + }, + }, + }, + }, + drive: { + abci: { + docker: { + image: 'dashpay/drive:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'drive-abci', + }, + }, + log: { + stdout: { + level: 'info', + }, + prettyFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/base/drive-pretty.log', + }, + jsonFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/base/drive-json.log', + }, + }, + validatorSet: { + llmqType: 106, + }, + epochTime: 788400, + }, + tenderdash: { + mode: 'full', + docker: { + image: 'dashpay/tenderdash:0.13.2', + }, + p2p: { + port: 46656, + persistentPeers: [], + seeds: [], + }, + rpc: { + port: 46657, + }, + pprof: { + enabled: false, + port: 46060, + }, + metrics: { + enabled: false, + port: 46660, + }, + consensus: { + createEmptyBlocks: true, + createEmptyBlocksInterval: '3m', + }, + log: { + level: 'debug', + format: 'plain', + path: null, + }, + node: { + id: null, + key: null, + }, + genesis: { + consensus_params: { + block: { + max_bytes: '22020096', + max_gas: '-1', + time_iota_ms: '5000', + }, + evidence: { + max_age: '100000', + max_age_num_blocks: '100000', + max_age_duration: '172800000000000', + }, + validator: { + pub_key_types: [ + 'bls12381', + ], + }, + version: { + app_version: '1', + }, + }, + }, + moniker: null, + }, + }, + dpns: { + contract: { + id: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', + }, + ownerId: '4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF', + masterPublicKey: null, + secondPublicKey: null, + }, + dashpay: { + contract: { + id: 'Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + featureFlags: { + contract: { + id: 'HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh', + }, + ownerId: 'H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6', + masterPublicKey: null, + secondPublicKey: null, + }, + sourcePath: null, + masternodeRewardShares: { + contract: { + id: 'rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + withdrawals: { + contract: { + id: '4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + enable: true, + }, + dashmate: { + helper: { + docker: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dashmate-helper', + }, + }, + api: { + enable: false, + port: 9100, + }, + }, + }, + externalIp: null, + network: 'local', + environment: 'development', + }, + testnet: { + description: 'node with testnet configuration', + group: null, + docker: { + network: { + subnet: '172.25.24.0/24', + bindIp: '0.0.0.0', + }, + baseImage: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: '', + }, + }, + }, + core: { + docker: { + image: 'dashpay/dashd:20.0.0-beta.2', + }, + p2p: { + port: 19998, + seeds: [], + }, + rpc: { + port: 19998, + user: 'PPRKbOin', + password: 'xH2wOCwuh01k', + allowIps: [ + '127.0.0.1', + '172.16.0.0/12', + '192.168.0.0/16', + ], + }, + spork: { + address: 'yjPtiKh2uwk3bDutTEA2q9mCtXyiZRWn55', + privateKey: null, + }, + masternode: { + enable: true, + operator: { + privateKey: '0584397e7d64ba6412eb842b35bc49bdb17974a23b7d7e97486044047d548c0c', + }, + }, + miner: { + enable: false, + interval: '2.5m', + mediantime: null, + address: null, + }, + devnet: { + name: null, + minimumDifficultyBlocks: 0, + powTargetSpacing: 150, + }, + log: { + file: { + categories: [], + path: '/Users/dashmate/.dashmate/logs/testnet/core.log', + }, + }, + logIps: 0, + indexes: true, + }, + platform: { + dapi: { + envoy: { + docker: { + image: 'dashpay/envoy:1.22.11', + }, + http: { + port: 1443, + }, + rateLimiter: { + maxTokens: 300, + tokensPerFill: 150, + fillInterval: '60s', + enabled: true, + }, + ssl: { + enabled: true, + provider: 'self-signed', + providerConfigs: { + zerossl: { + apiKey: null, + id: null, + }, + }, + }, + }, + api: { + docker: { + image: 'dashpay/dapi:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dapi', + }, + }, + }, + }, + drive: { + abci: { + docker: { + image: 'dashpay/drive:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'drive-abci', + }, + }, + log: { + stdout: { + level: 'info', + }, + prettyFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/testnet/drive-pretty.log', + }, + jsonFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/testnet/drive-json.log', + }, + }, + validatorSet: { + llmqType: 6, + }, + epochTime: 788400, + }, + tenderdash: { + mode: 'validator', + docker: { + image: 'dashpay/tenderdash:0.13.2', + }, + p2p: { + port: 25565, + persistentPeers: [], + seeds: [ + { + id: '74907790a03b51ac062c8a1453dafd72a08668a3', + host: '35.166.35.250', + port: 36656, + }, + { + id: '2006632eb20e670923d13d4f53abc24468eaad4d', + host: '35.92.64.72', + port: 36656, + }, + ], + }, + rpc: { + port: 36657, + }, + pprof: { + enabled: false, + port: 36060, + }, + metrics: { + enabled: false, + port: 36660, + }, + consensus: { + createEmptyBlocks: true, + createEmptyBlocksInterval: '3m', + }, + log: { + level: 'debug', + format: 'plain', + path: null, + }, + node: { + id: '2a38c597f7f98c8137b62a2f9abdeb8a12bfae94', + key: 'ZTrWrL7FtKQWq0jAgMRIPg4gNnv6APLDbXe59yjGhPRzoOL/ZHZM8JXDqtwdVxOguR7muy+hOq4+7ymY/7A5+Q==', + }, + genesis: { + consensus_params: { + block: { + max_bytes: '22020096', + max_gas: '-1', + time_iota_ms: '5000', + }, + evidence: { + max_age: '100000', + max_age_num_blocks: '100000', + max_age_duration: '172800000000000', + }, + validator: { + pub_key_types: [ + 'bls12381', + ], + }, + version: { + app_version: '1', + }, + timeout: { + propose: '50000000000', + propose_delta: '10000000000', + vote: '500000000', + vote_delta: '100000000', + commit: '1000000000', + bypass_commit_timeout: false, + }, + }, + genesis_time: '2023-10-10T10:43:20.921Z', + chain_id: 'dash-testnet-26', + initial_core_chain_locked_height: 921380, + validator_quorum_type: 6, + }, + moniker: null, + }, + }, + dpns: { + contract: { + id: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', + }, + ownerId: '4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF', + masterPublicKey: '02c8b4747b528cac5fddf7a6cc63702ee04ed7d1332904e08510343ea00dce546a', + secondPublicKey: '0201ee28f84f5485390567e939c2b586010b63a69ec92cab535dc96a8c71913602', + }, + dashpay: { + contract: { + id: 'Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7', + }, + masterPublicKey: '02d4dcce3f0a8d2936ce26df4d255fd2835b629b73eea39d4b2778096b91e77946', + secondPublicKey: '03699c8b4ebf1696c92e9ec605a02a38f6f9cec47d13fb584fdad779e936e20ccb', + }, + featureFlags: { + contract: { + id: 'HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh', + }, + ownerId: 'H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6', + masterPublicKey: '029cf2232549de08c114c19763309cb067688e21e310ac07458b59c2c026be7234', + secondPublicKey: '02a2abb50c03ae9f778f08a93849ba334a82e625153720dd5ef14e564b78b414e5', + }, + sourcePath: null, + masternodeRewardShares: { + contract: { + id: 'rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX', + }, + masterPublicKey: '0319d795c0795bc8678bd0e58cfc7a4ad75c8e1797537728e7e8de8b9acc2bae2b', + secondPublicKey: '033756572938aaad752158b858ad38511c6edff4c79cf8462f70baa25fc6e8a616', + }, + withdrawals: { + contract: { + id: '4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6', + }, + masterPublicKey: '032f79d1d9d6e652599d3315d30306b1277fbf588e32e383aef0a59749547d47b7', + secondPublicKey: '03eebbe3dc3721603a0b5a13441f214550ffa7d035b7dea9f1911de0f63ddac58d', + }, + enable: true, + }, + dashmate: { + helper: { + docker: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dashmate-helper', + }, + }, + api: { + enable: false, + port: 9100, + }, + }, + }, + externalIp: '127.0.0.1', + network: 'testnet', + environment: 'production', + }, + mainnet: { + description: 'node with mainnet configuration', + group: null, + docker: { + network: { + subnet: '172.26.24.0/24', + bindIp: '0.0.0.0', + }, + baseImage: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: '', + }, + }, + }, + core: { + docker: { + image: 'dashpay/dashd:19.3.0', + }, + p2p: { + port: 9999, + seeds: [], + }, + rpc: { + port: 9998, + user: 'yMwYU2Mo', + password: 'ZiEdhwN7U9Ky', + allowIps: [ + '127.0.0.1', + '172.16.0.0/12', + '192.168.0.0/16', + ], + }, + spork: { + address: null, + privateKey: null, + }, + masternode: { + enable: true, + operator: { + privateKey: '0584397e7d64ba6412eb842b35bc49bdb17974a23b7d7e97486044047d548c0c', + }, + }, + miner: { + enable: false, + interval: '2.5m', + mediantime: null, + address: null, + }, + devnet: { + name: null, + minimumDifficultyBlocks: 0, + powTargetSpacing: 150, + }, + log: { + file: { + categories: [], + path: '/Users/dashmate/.dashmate/logs/mainnet/core.log', + }, + }, + logIps: 0, + indexes: false, + }, + platform: { + dapi: { + envoy: { + docker: { + image: 'dashpay/envoy:1.22.11', + }, + http: { + port: 443, + }, + rateLimiter: { + maxTokens: 300, + tokensPerFill: 150, + fillInterval: '60s', + enabled: true, + }, + ssl: { + enabled: false, + provider: 'zerossl', + providerConfigs: { + zerossl: { + apiKey: null, + id: null, + }, + }, + }, + }, + api: { + docker: { + image: 'dashpay/dapi:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dapi', + }, + }, + }, + }, + drive: { + abci: { + docker: { + image: 'dashpay/drive:0.25', + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'drive-abci', + }, + }, + log: { + stdout: { + level: 'info', + }, + prettyFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/base/drive-pretty.log', + }, + jsonFile: { + level: 'silent', + path: '/Users/dashmate/.dashmate/logs/base/drive-json.log', + }, + }, + validatorSet: { + llmqType: 4, + }, + epochTime: 788400, + }, + tenderdash: { + mode: 'validator', + docker: { + image: 'dashpay/tenderdash:0.13.2', + }, + p2p: { + port: 26656, + persistentPeers: [], + seeds: [], + }, + rpc: { + port: 26657, + }, + pprof: { + enabled: false, + port: 6060, + }, + metrics: { + enabled: false, + port: 26660, + }, + consensus: { + createEmptyBlocks: true, + createEmptyBlocksInterval: '3m', + }, + log: { + level: 'debug', + format: 'plain', + path: null, + }, + node: { + id: null, + key: null, + }, + genesis: { + consensus_params: { + block: { + max_bytes: '22020096', + max_gas: '-1', + time_iota_ms: '5000', + }, + evidence: { + max_age: '100000', + max_age_num_blocks: '100000', + max_age_duration: '172800000000000', + }, + validator: { + pub_key_types: [ + 'bls12381', + ], + }, + version: { + app_version: '1', + }, + }, + }, + moniker: null, + }, + }, + dpns: { + contract: { + id: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', + }, + ownerId: '4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF', + masterPublicKey: null, + secondPublicKey: null, + }, + dashpay: { + contract: { + id: 'Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + featureFlags: { + contract: { + id: 'HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh', + }, + ownerId: 'H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6', + masterPublicKey: null, + secondPublicKey: null, + }, + sourcePath: null, + masternodeRewardShares: { + contract: { + id: 'rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + withdrawals: { + contract: { + id: '4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6', + }, + masterPublicKey: null, + secondPublicKey: null, + }, + enable: false, + }, + dashmate: { + helper: { + docker: { + build: { + enabled: false, + context: path.join(PACKAGE_ROOT_DIR, '..', '..'), + dockerFile: path.join(PACKAGE_ROOT_DIR, '..', '..', 'Dockerfile'), + target: 'dashmate-helper', + }, + }, + api: { + enable: false, + port: 9100, + }, + }, + }, + externalIp: '127.0.0.1', + network: 'mainnet', + environment: 'production', + }, + }, + projectId: 'ad3bc757', + }; +} + +module.exports = getConfigFileDataV0250; diff --git a/packages/dashmate/templates/core/dash.conf.dot b/packages/dashmate/templates/core/dash.conf.dot index 3e5a5695e0..3907b248d8 100644 --- a/packages/dashmate/templates/core/dash.conf.dot +++ b/packages/dashmate/templates/core/dash.conf.dot @@ -69,8 +69,8 @@ regtest=1 {{? it.core.spork.address}}sporkaddr={{=it.core.spork.address}}{{?}} {{? it.core.spork.privateKey}}sporkkey={{=it.core.spork.privateKey}}{{?}} {{? it.core.miner.mediantime}}mocktime={{=it.core.miner.mediantime}}{{?}} -llmqinstantsend=llmq_test -llmqinstantsenddip0024=llmq_test_instantsend +llmqtestinstantsend=llmq_test +llmqtestinstantsenddip0024=llmq_test_instantsend {{?? it.network === 'devnet'}} devnet={{=it.core.devnet.name}} diff --git a/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js b/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js index eac159116d..044379b063 100644 --- a/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js +++ b/packages/dashmate/test/unit/commands/config/configFile/migrateConfigFileFactory.spec.js @@ -1,79 +1,42 @@ -const _ = require('lodash'); -const Ajv = require('ajv'); -const addFormats = require('ajv-formats'); - const createDIContainer = require('../../../../../src/createDIContainer'); -const mockConfig = require('./mock_config_v0.25.0.json'); -const configJsonSchema = require('../../../../../src/config/configJsonSchema'); +const getConfigFileDataV0250 = require('../../../../../src/test/fixtures/getConfigFileDataV0250'); const packageJson = require('../../../../../package.json'); +const HomeDir = require('../../../../../src/config/HomeDir'); -describe('MigrateConfigFileCommand', () => { - let config; +describe.skip('migrateConfigFileFactory', () => { + let mockConfigFileData; let container; - let ajv; + let createConfigFile; + let migrateConfigFile; beforeEach(async () => { - ajv = new Ajv(); - addFormats(ajv, { mode: 'fast', formats: ['ipv4'] }); - container = await createDIContainer(); - config = _.cloneDeep(mockConfig); + migrateConfigFile = container.resolve('migrateConfigFile'); + createConfigFile = container.resolve('createConfigFile'); + + const homeDir = container.resolve('homeDir'); + homeDir.change(new HomeDir('/Users/dashmate/.dashmate', true)); + + mockConfigFileData = getConfigFileDataV0250(); }); - it('should gracefully migrate', async () => { - const migrateConfigFile = container.resolve('migrateConfigFile'); - const getBaseConfig = container.resolve('getBaseConfig'); - const getMainnetConfig = container.resolve('getMainnetConfig'); - const getTestnetConfig = container.resolve('getTestnetConfig'); + it('should migrate', async () => { + const currentConfigFile = createConfigFile(); + const currentConfigFileData = currentConfigFile.toObject(); const migratedConfigFileData = migrateConfigFile( - config, - config.configFormatVersion, + mockConfigFileData, + mockConfigFileData.configFormatVersion, packageJson.version, ); - // check config is valid after migration - for (const configName of Object.keys(migratedConfigFileData.configs)) { - const myConfig = migratedConfigFileData.configs[configName]; - const isValid = ajv.validate(configJsonSchema, myConfig); - - expect(isValid).to.equal(true, `${configName} config is invalid: ${ajv.errorsText()}`); - - let targetConfig; - - switch (myConfig.network) { - case 'local': - targetConfig = getBaseConfig(); - break; - case 'testnet': - targetConfig = configName === 'base' ? getBaseConfig() : getTestnetConfig(); - break; - case 'mainnet': - targetConfig = getMainnetConfig(); - break; - default: - throw new Error('Unknown network type'); - } - - // check image version - expect(myConfig.core.docker.image) - .to.equal(targetConfig.options.core.docker.image); - expect(myConfig.platform.drive.abci.docker.image) - .to.equal(targetConfig.options.platform.drive.abci.docker.image); - expect(myConfig.platform.drive.tenderdash.docker.image) - .to.equal(targetConfig.options.platform.drive.tenderdash.docker.image); + for (const [name, config] of Object.entries(currentConfigFileData.configs)) { + expect(config).to.be.deep.equal(migratedConfigFileData.configs[name]); + } - // check genesis - if (configName !== 'base') { - expect(myConfig.platform.drive.tenderdash.genesis.chain_id) - .to.equal(targetConfig.options.platform.drive.tenderdash.genesis.chain_id); - expect(myConfig.platform.drive.tenderdash.genesis.genesis_time) - .to.equal(targetConfig.options.platform.drive.tenderdash.genesis.genesis_time); + delete currentConfigFileData.configs; + delete migratedConfigFileData.configs; - expect(myConfig.platform.drive.tenderdash.genesis.initial_core_chain_locked_height) - .to.equal(targetConfig.options - .platform.drive.tenderdash.genesis.initial_core_chain_locked_height); - } - } + expect(migratedConfigFileData).to.be.deep.equal(currentConfigFileData); }); }); diff --git a/packages/dashmate/test/unit/commands/config/configFile/mock_config_v0.25.0.json b/packages/dashmate/test/unit/commands/config/configFile/mock_config_v0.25.0.json deleted file mode 100644 index 0f70ee3599..0000000000 --- a/packages/dashmate/test/unit/commands/config/configFile/mock_config_v0.25.0.json +++ /dev/null @@ -1,1036 +0,0 @@ -{ - "configFormatVersion": "0.25.0", - "defaultConfigName": "testnet", - "defaultGroupName": null, - "group": null, - "configs": { - "base": { - "description": "base config for use as template", - "group": null, - "docker": { - "network": { - "subnet": "0.0.0.0/0", - "bindIp": "0.0.0.0" - }, - "baseImage": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "" - } - } - }, - "core": { - "docker": { - "image": "dashpay/dashd:20.0.0-beta.4" - }, - "p2p": { - "port": 9999, - "seeds": [] - }, - "rpc": { - "port": 9998, - "user": "dashrpc", - "password": "rpcpassword", - "allowIps": [ - "127.0.0.1", - "172.16.0.0/12", - "192.168.0.0/16" - ] - }, - "spork": { - "address": null, - "privateKey": null - }, - "masternode": { - "enable": true, - "operator": { - "privateKey": null - } - }, - "miner": { - "enable": false, - "interval": "2.5m", - "mediantime": null, - "address": null - }, - "devnet": { - "name": null, - "minimumDifficultyBlocks": 0, - "powTargetSpacing": 150 - }, - "log": { - "file": { - "categories": [], - "path": "/Users/pshenmic/.dashmate/logs/base/core.log" - } - }, - "logIps": 0, - "indexes": true - }, - "platform": { - "dapi": { - "envoy": { - "docker": { - "image": "dashpay/envoy:1.22.11" - }, - "http": { - "port": 443 - }, - "rateLimiter": { - "maxTokens": 300, - "tokensPerFill": 150, - "fillInterval": "60s", - "enabled": true - }, - "ssl": { - "enabled": false, - "provider": "zerossl", - "providerConfigs": { - "zerossl": { - "apiKey": null, - "id": null - } - } - } - }, - "api": { - "docker": { - "image": "dashpay/dapi:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dapi" - } - } - } - }, - "drive": { - "abci": { - "docker": { - "image": "dashpay/drive:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "drive-abci" - } - }, - "log": { - "stdout": { - "level": "info" - }, - "prettyFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/base/drive-pretty.log" - }, - "jsonFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/base/drive-json.log" - } - }, - "validatorSet": { - "llmqType": 4 - }, - "epochTime": 788400 - }, - "tenderdash": { - "mode": "full", - "docker": { - "image": "dashpay/tenderdash:0.13.2" - }, - "p2p": { - "port": 26656, - "persistentPeers": [], - "seeds": [] - }, - "rpc": { - "port": 26657 - }, - "pprof": { - "enabled": false, - "port": 6060 - }, - "metrics": { - "enabled": false, - "port": 26660 - }, - "consensus": { - "createEmptyBlocks": true, - "createEmptyBlocksInterval": "3m" - }, - "log": { - "level": "debug", - "format": "plain", - "path": null - }, - "node": { - "id": null, - "key": null - }, - "genesis": { - "consensus_params": { - "block": { - "max_bytes": "22020096", - "max_gas": "-1", - "time_iota_ms": "5000" - }, - "evidence": { - "max_age": "100000", - "max_age_num_blocks": "100000", - "max_age_duration": "172800000000000" - }, - "validator": { - "pub_key_types": [ - "bls12381" - ] - }, - "version": { - "app_version": "1" - } - } - }, - "moniker": null - } - }, - "dpns": { - "contract": { - "id": "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec" - }, - "ownerId": "4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF", - "masterPublicKey": null, - "secondPublicKey": null - }, - "dashpay": { - "contract": { - "id": "Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "featureFlags": { - "contract": { - "id": "HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh" - }, - "ownerId": "H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6", - "masterPublicKey": null, - "secondPublicKey": null - }, - "sourcePath": null, - "masternodeRewardShares": { - "contract": { - "id": "rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "withdrawals": { - "contract": { - "id": "4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "enable": true - }, - "dashmate": { - "helper": { - "docker": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dashmate-helper" - } - }, - "api": { - "enable": false, - "port": 9100 - } - } - }, - "externalIp": null, - "network": "testnet", - "environment": "production" - }, - "local": { - "description": "template for local configs", - "group": null, - "docker": { - "network": { - "subnet": "172.24.24.0/24", - "bindIp": "0.0.0.0" - }, - "baseImage": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "" - } - } - }, - "core": { - "docker": { - "image": "dashpay/dashd:20.0.0-beta.4" - }, - "p2p": { - "port": 20001, - "seeds": [] - }, - "rpc": { - "port": 20002, - "user": "dashrpc", - "password": "rpcpassword", - "allowIps": [ - "127.0.0.1", - "172.16.0.0/12", - "192.168.0.0/16" - ] - }, - "spork": { - "address": null, - "privateKey": null - }, - "masternode": { - "enable": true, - "operator": { - "privateKey": null - } - }, - "miner": { - "enable": false, - "interval": "2.5m", - "mediantime": null, - "address": null - }, - "devnet": { - "name": null, - "minimumDifficultyBlocks": 0, - "powTargetSpacing": 150 - }, - "log": { - "file": { - "categories": [], - "path": "/Users/pshenmic/.dashmate/logs/base/core.log" - } - }, - "logIps": 0, - "indexes": true - }, - "platform": { - "dapi": { - "envoy": { - "docker": { - "image": "dashpay/envoy:1.22.11" - }, - "http": { - "port": 2443 - }, - "rateLimiter": { - "maxTokens": 300, - "tokensPerFill": 150, - "fillInterval": "60s", - "enabled": false - }, - "ssl": { - "enabled": false, - "provider": "zerossl", - "providerConfigs": { - "zerossl": { - "apiKey": null, - "id": null - } - } - } - }, - "api": { - "docker": { - "image": "dashpay/dapi:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dapi" - } - } - } - }, - "drive": { - "abci": { - "docker": { - "image": "dashpay/drive:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "drive-abci" - } - }, - "log": { - "stdout": { - "level": "info" - }, - "prettyFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/base/drive-pretty.log" - }, - "jsonFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/base/drive-json.log" - } - }, - "validatorSet": { - "llmqType": 106 - }, - "epochTime": 788400 - }, - "tenderdash": { - "mode": "full", - "docker": { - "image": "dashpay/tenderdash:0.13.2" - }, - "p2p": { - "port": 46656, - "persistentPeers": [], - "seeds": [] - }, - "rpc": { - "port": 46657 - }, - "pprof": { - "enabled": false, - "port": 46060 - }, - "metrics": { - "enabled": false, - "port": 46660 - }, - "consensus": { - "createEmptyBlocks": true, - "createEmptyBlocksInterval": "3m" - }, - "log": { - "level": "debug", - "format": "plain", - "path": null - }, - "node": { - "id": null, - "key": null - }, - "genesis": { - "consensus_params": { - "block": { - "max_bytes": "22020096", - "max_gas": "-1", - "time_iota_ms": "5000" - }, - "evidence": { - "max_age": "100000", - "max_age_num_blocks": "100000", - "max_age_duration": "172800000000000" - }, - "validator": { - "pub_key_types": [ - "bls12381" - ] - }, - "version": { - "app_version": "1" - } - } - }, - "moniker": null - } - }, - "dpns": { - "contract": { - "id": "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec" - }, - "ownerId": "4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF", - "masterPublicKey": null, - "secondPublicKey": null - }, - "dashpay": { - "contract": { - "id": "Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "featureFlags": { - "contract": { - "id": "HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh" - }, - "ownerId": "H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6", - "masterPublicKey": null, - "secondPublicKey": null - }, - "sourcePath": null, - "masternodeRewardShares": { - "contract": { - "id": "rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "withdrawals": { - "contract": { - "id": "4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "enable": true - }, - "dashmate": { - "helper": { - "docker": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dashmate-helper" - } - }, - "api": { - "enable": false, - "port": 9100 - } - } - }, - "externalIp": null, - "network": "local", - "environment": "development" - }, - "testnet": { - "description": "node with testnet configuration", - "group": null, - "docker": { - "network": { - "subnet": "172.25.24.0/24", - "bindIp": "0.0.0.0" - }, - "baseImage": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "" - } - } - }, - "core": { - "docker": { - "image": "dashpay/dashd:20.0.0-beta.2" - }, - "p2p": { - "port": 19998, - "seeds": [] - }, - "rpc": { - "port": 19998, - "user": "PPRKbOin", - "password": "xH2wOCwuh01k", - "allowIps": [ - "127.0.0.1", - "172.16.0.0/12", - "192.168.0.0/16" - ] - }, - "spork": { - "address": "yjPtiKh2uwk3bDutTEA2q9mCtXyiZRWn55", - "privateKey": null - }, - "masternode": { - "enable": true, - "operator": { - "privateKey": "0584397e7d64ba6412eb842b35bc49bdb17974a23b7d7e97486044047d548c0c" - } - }, - "miner": { - "enable": false, - "interval": "2.5m", - "mediantime": null, - "address": null - }, - "devnet": { - "name": null, - "minimumDifficultyBlocks": 0, - "powTargetSpacing": 150 - }, - "log": { - "file": { - "categories": [], - "path": "/Users/pshenmic/.dashmate/logs/testnet/core.log" - } - }, - "logIps": 0, - "indexes": true - }, - "platform": { - "dapi": { - "envoy": { - "docker": { - "image": "dashpay/envoy:1.22.11" - }, - "http": { - "port": 1443 - }, - "rateLimiter": { - "maxTokens": 300, - "tokensPerFill": 150, - "fillInterval": "60s", - "enabled": true - }, - "ssl": { - "enabled": true, - "provider": "self-signed", - "providerConfigs": { - "zerossl": { - "apiKey": null, - "id": null - } - } - } - }, - "api": { - "docker": { - "image": "dashpay/dapi:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dapi" - } - } - } - }, - "drive": { - "abci": { - "docker": { - "image": "dashpay/drive:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "drive-abci" - } - }, - "log": { - "stdout": { - "level": "info" - }, - "prettyFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/testnet/drive-pretty.log" - }, - "jsonFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/testnet/drive-json.log" - } - }, - "validatorSet": { - "llmqType": 6 - }, - "epochTime": 788400 - }, - "tenderdash": { - "mode": "validator", - "docker": { - "image": "dashpay/tenderdash:0.13.2" - }, - "p2p": { - "port": 25565, - "persistentPeers": [], - "seeds": [ - { - "id": "74907790a03b51ac062c8a1453dafd72a08668a3", - "host": "35.166.35.250", - "port": 36656 - }, - { - "id": "2006632eb20e670923d13d4f53abc24468eaad4d", - "host": "35.92.64.72", - "port": 36656 - } - ] - }, - "rpc": { - "port": 36657 - }, - "pprof": { - "enabled": false, - "port": 36060 - }, - "metrics": { - "enabled": false, - "port": 36660 - }, - "consensus": { - "createEmptyBlocks": true, - "createEmptyBlocksInterval": "3m" - }, - "log": { - "level": "debug", - "format": "plain", - "path": null - }, - "node": { - "id": "2a38c597f7f98c8137b62a2f9abdeb8a12bfae94", - "key": "ZTrWrL7FtKQWq0jAgMRIPg4gNnv6APLDbXe59yjGhPRzoOL/ZHZM8JXDqtwdVxOguR7muy+hOq4+7ymY/7A5+Q==" - }, - "genesis": { - "consensus_params": { - "block": { - "max_bytes": "22020096", - "max_gas": "-1", - "time_iota_ms": "5000" - }, - "evidence": { - "max_age": "100000", - "max_age_num_blocks": "100000", - "max_age_duration": "172800000000000" - }, - "validator": { - "pub_key_types": [ - "bls12381" - ] - }, - "version": { - "app_version": "1" - }, - "timeout": { - "propose": "50000000000", - "propose_delta": "10000000000", - "vote": "500000000", - "vote_delta": "100000000", - "commit": "1000000000", - "bypass_commit_timeout": false - } - }, - "genesis_time": "2023-10-10T10:43:20.921Z", - "chain_id": "dash-testnet-26", - "initial_core_chain_locked_height": 921380, - "validator_quorum_type": 6 - }, - "moniker": null - } - }, - "dpns": { - "contract": { - "id": "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec" - }, - "ownerId": "4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF", - "masterPublicKey": "02c8b4747b528cac5fddf7a6cc63702ee04ed7d1332904e08510343ea00dce546a", - "secondPublicKey": "0201ee28f84f5485390567e939c2b586010b63a69ec92cab535dc96a8c71913602" - }, - "dashpay": { - "contract": { - "id": "Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7" - }, - "masterPublicKey": "02d4dcce3f0a8d2936ce26df4d255fd2835b629b73eea39d4b2778096b91e77946", - "secondPublicKey": "03699c8b4ebf1696c92e9ec605a02a38f6f9cec47d13fb584fdad779e936e20ccb" - }, - "featureFlags": { - "contract": { - "id": "HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh" - }, - "ownerId": "H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6", - "masterPublicKey": "029cf2232549de08c114c19763309cb067688e21e310ac07458b59c2c026be7234", - "secondPublicKey": "02a2abb50c03ae9f778f08a93849ba334a82e625153720dd5ef14e564b78b414e5" - }, - "sourcePath": null, - "masternodeRewardShares": { - "contract": { - "id": "rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX" - }, - "masterPublicKey": "0319d795c0795bc8678bd0e58cfc7a4ad75c8e1797537728e7e8de8b9acc2bae2b", - "secondPublicKey": "033756572938aaad752158b858ad38511c6edff4c79cf8462f70baa25fc6e8a616" - }, - "withdrawals": { - "contract": { - "id": "4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6" - }, - "masterPublicKey": "032f79d1d9d6e652599d3315d30306b1277fbf588e32e383aef0a59749547d47b7", - "secondPublicKey": "03eebbe3dc3721603a0b5a13441f214550ffa7d035b7dea9f1911de0f63ddac58d" - }, - "enable": true - }, - "dashmate": { - "helper": { - "docker": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dashmate-helper" - } - }, - "api": { - "enable": false, - "port": 9100 - } - } - }, - "externalIp": "127.0.0.1", - "network": "testnet", - "environment": "production" - }, - "mainnet": { - "description": "node with mainnet configuration", - "group": null, - "docker": { - "network": { - "subnet": "172.26.24.0/24", - "bindIp": "0.0.0.0" - }, - "baseImage": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "" - } - } - }, - "core": { - "docker": { - "image": "dashpay/dashd:19.3.0" - }, - "p2p": { - "port": 9999, - "seeds": [] - }, - "rpc": { - "port": 9998, - "user": "yMwYU2Mo", - "password": "ZiEdhwN7U9Ky", - "allowIps": [ - "127.0.0.1", - "172.16.0.0/12", - "192.168.0.0/16" - ] - }, - "spork": { - "address": null, - "privateKey": null - }, - "masternode": { - "enable": true, - "operator": { - "privateKey": "0584397e7d64ba6412eb842b35bc49bdb17974a23b7d7e97486044047d548c0c" - } - }, - "miner": { - "enable": false, - "interval": "2.5m", - "mediantime": null, - "address": null - }, - "devnet": { - "name": null, - "minimumDifficultyBlocks": 0, - "powTargetSpacing": 150 - }, - "log": { - "file": { - "categories": [], - "path": "/Users/pshenmic/.dashmate/logs/mainnet/core.log" - } - }, - "logIps": 0, - "indexes": false - }, - "platform": { - "dapi": { - "envoy": { - "docker": { - "image": "dashpay/envoy:1.22.11" - }, - "http": { - "port": 443 - }, - "rateLimiter": { - "maxTokens": 300, - "tokensPerFill": 150, - "fillInterval": "60s", - "enabled": true - }, - "ssl": { - "enabled": false, - "provider": "zerossl", - "providerConfigs": { - "zerossl": { - "apiKey": null, - "id": null - } - } - } - }, - "api": { - "docker": { - "image": "dashpay/dapi:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dapi" - } - } - } - }, - "drive": { - "abci": { - "docker": { - "image": "dashpay/drive:0.25", - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "drive-abci" - } - }, - "log": { - "stdout": { - "level": "info" - }, - "prettyFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/base/drive-pretty.log" - }, - "jsonFile": { - "level": "silent", - "path": "/Users/pshenmic/.dashmate/logs/base/drive-json.log" - } - }, - "validatorSet": { - "llmqType": 4 - }, - "epochTime": 788400 - }, - "tenderdash": { - "mode": "validator", - "docker": { - "image": "dashpay/tenderdash:0.13.2" - }, - "p2p": { - "port": 26656, - "persistentPeers": [], - "seeds": [] - }, - "rpc": { - "port": 26657 - }, - "pprof": { - "enabled": false, - "port": 6060 - }, - "metrics": { - "enabled": false, - "port": 26660 - }, - "consensus": { - "createEmptyBlocks": true, - "createEmptyBlocksInterval": "3m" - }, - "log": { - "level": "debug", - "format": "plain", - "path": null - }, - "node": { - "id": null, - "key": null - }, - "genesis": { - "consensus_params": { - "block": { - "max_bytes": "22020096", - "max_gas": "-1", - "time_iota_ms": "5000" - }, - "evidence": { - "max_age": "100000", - "max_age_num_blocks": "100000", - "max_age_duration": "172800000000000" - }, - "validator": { - "pub_key_types": [ - "bls12381" - ] - }, - "version": { - "app_version": "1" - } - } - }, - "moniker": null - } - }, - "dpns": { - "contract": { - "id": "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec" - }, - "ownerId": "4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF", - "masterPublicKey": null, - "secondPublicKey": null - }, - "dashpay": { - "contract": { - "id": "Bwr4WHCPz5rFVAD87RqTs3izo4zpzwsEdKPWUT1NS1C7" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "featureFlags": { - "contract": { - "id": "HY1keaRK5bcDmujNCQq5pxNyvAiHHpoHQgLN5ppiu4kh" - }, - "ownerId": "H9sjb2bHG8t7gq5SwNdqzMWG7KR6sf3CbziFzthCkDD6", - "masterPublicKey": null, - "secondPublicKey": null - }, - "sourcePath": null, - "masternodeRewardShares": { - "contract": { - "id": "rUnsWrFu3PKyRMGk2mxmZVBPbQuZx2qtHeFjURoQevX" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "withdrawals": { - "contract": { - "id": "4fJLR2GYTPFdomuTVvNy3VRrvWgvkKPzqehEBpNf2nk6" - }, - "masterPublicKey": null, - "secondPublicKey": null - }, - "enable": false - }, - "dashmate": { - "helper": { - "docker": { - "build": { - "enabled": false, - "context": "/Users/pshenmic/WebstormProjects/platform", - "dockerFile": "/Users/pshenmic/WebstormProjects/platform/Dockerfile", - "target": "dashmate-helper" - } - }, - "api": { - "enable": false, - "port": 9100 - } - } - }, - "externalIp": "127.0.0.1", - "network": "mainnet", - "environment": "production" - } - }, - "projectId": "ccf8a8b6" -} diff --git a/packages/js-dapi-client/package.json b/packages/js-dapi-client/package.json index d6e26ae43c..ec0e7d4a69 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -28,7 +28,7 @@ "dependencies": { "@dashevo/dapi-grpc": "workspace:*", "@dashevo/dash-spv": "workspace:*", - "@dashevo/dashcore-lib": "~0.20.9", + "@dashevo/dashcore-lib": "~0.21.0", "@dashevo/grpc-common": "workspace:*", "@dashevo/wasm-dpp": "workspace:*", "bs58": "^4.0.1", diff --git a/packages/js-dash-sdk/package.json b/packages/js-dash-sdk/package.json index aea5a494a8..a9cb92f513 100644 --- a/packages/js-dash-sdk/package.json +++ b/packages/js-dash-sdk/package.json @@ -41,7 +41,7 @@ "@dashevo/bls": "~1.2.9", "@dashevo/dapi-client": "workspace:*", "@dashevo/dapi-grpc": "workspace:*", - "@dashevo/dashcore-lib": "~0.20.9", + "@dashevo/dashcore-lib": "~0.21.0", "@dashevo/dashpay-contract": "workspace:*", "@dashevo/dpns-contract": "workspace:*", "@dashevo/grpc-common": "workspace:*", diff --git a/packages/js-dash-sdk/src/SDK/Client/Platform/createAssetLockTransaction.ts b/packages/js-dash-sdk/src/SDK/Client/Platform/createAssetLockTransaction.ts index 44794fb6d7..6350677dff 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Platform/createAssetLockTransaction.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Platform/createAssetLockTransaction.ts @@ -1,4 +1,6 @@ -import { PrivateKey, Transaction } from '@dashevo/dashcore-lib'; +import { + PrivateKey, Transaction, Script, Address, Opcode, +} from '@dashevo/dashcore-lib'; import { utils } from '@dashevo/wallet-lib'; import { Platform } from './Platform'; @@ -44,11 +46,35 @@ export async function createAssetLockTransaction( const selection = utils.coinSelection(utxos, [output]); + const realOutput = { + satoshis: output.satoshis, + script: Script + .buildPublicKeyHashOut(Address.fromString(identityAddress, this.client.network)).toString(), + }; + + const payload = Transaction.Payload.AssetLockPayload.fromJSON({ + version: 1, + creditOutputs: [{ + satoshis: realOutput.satoshis, + script: realOutput.script, + }], + }); + lockTransaction + // @ts-ignore + .setType(Transaction.TYPES.TRANSACTION_ASSET_LOCK) .from(selection.utxos) - // eslint-disable-next-line - .addBurnOutput(output.satoshis, assetLockOneTimePublicKey._getID()) - .change(changeAddress); + // eslint-disable-next-line + .addOutput( + new Transaction.Output({ + satoshis: realOutput.satoshis, + // @ts-ignore + script: new Script().add(Opcode.OP_RETURN).add(Buffer.alloc(0)), + }), + ) + .change(changeAddress) + // @ts-ignore + .setExtraPayload(payload); const utxoAddresses = selection.utxos.map((utxo: any) => utxo.address.toString()); diff --git a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/internal/createAssetLockProof.ts b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/internal/createAssetLockProof.ts index 73bfbf14d5..891d4ac080 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/internal/createAssetLockProof.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/internal/createAssetLockProof.ts @@ -89,18 +89,10 @@ export async function createAssetLockProof( clearTimeout(rejectTimer); cancelInstantLock(); - // Changing endianness of raw txId bytes in outPoint to - // match expectations of dashcore-rust - let outPointBuffer = assetLockTransaction.getOutPointBuffer(outputIndex); - const txIdBuffer = outPointBuffer.slice(0, 32); - const outputIndexBuffer = outPointBuffer.slice(32); - txIdBuffer.reverse(); - outPointBuffer = Buffer.concat([txIdBuffer, outputIndexBuffer]); - return dpp.identity.createChainAssetLockProof( // @ts-ignore assetLockMetadata.height, - outPointBuffer, + assetLockTransaction.getOutPointBuffer(outputIndex), ); })) .catch((error) => { diff --git a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/register.ts b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/register.ts index 3fdc986c37..432f70773e 100644 --- a/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/register.ts +++ b/packages/js-dash-sdk/src/SDK/Client/Platform/methods/identities/register.ts @@ -35,7 +35,7 @@ export default async function register( const { identity, identityCreateTransition, identityIndex } = await this.identities.utils .createIdentityCreateTransition(assetLockProof, assetLockPrivateKey); - this.logger.silly(`[Identity#register] Created IdentityCreateTransition with asset lock tx "${assetLockTransaction.hash}"`); + this.logger.silly(`[Identity#register] Created IdentityCreateTransition with identity id "${identity.getId()}" using asset lock tx "${assetLockTransaction.hash}" `); // Skipping validation because it's already done in createIdentityCreateTransition await broadcastStateTransition(this, identityCreateTransition, { diff --git a/packages/platform-test-suite/package.json b/packages/platform-test-suite/package.json index 2b04403298..5a4d0b0488 100644 --- a/packages/platform-test-suite/package.json +++ b/packages/platform-test-suite/package.json @@ -24,7 +24,7 @@ "homepage": "https://github.com/dashevo/platform-test-suite#readme", "dependencies": { "@dashevo/dapi-client": "workspace:*", - "@dashevo/dashcore-lib": "~0.20.9", + "@dashevo/dashcore-lib": "~0.21.0", "@dashevo/dpns-contract": "workspace:*", "@dashevo/feature-flags-contract": "workspace:*", "@dashevo/grpc-common": "workspace:*", diff --git a/packages/platform-test-suite/test/functional/platform/Identity.spec.js b/packages/platform-test-suite/test/functional/platform/Identity.spec.js index 3bd2e44133..792c0804cb 100644 --- a/packages/platform-test-suite/test/functional/platform/Identity.spec.js +++ b/packages/platform-test-suite/test/functional/platform/Identity.spec.js @@ -23,20 +23,22 @@ const { IdentityPublicKey, InvalidInstantAssetLockProofSignatureError, IdentityAssetLockTransactionOutPointAlreadyExistsError, - BalanceIsNotEnoughError, BasicECDSAError, IdentityPublicKeyWithWitness, + IdentityInsufficientBalanceError, }, } = Dash; describe('Platform', () => { - describe('Identity', () => { + describe('Identity', function describeIdentity() { + this.bail(true); // bail on first failure + let client; let identity; let walletAccount; before(async () => { - client = await createClientWithFundedWallet(1100000); + client = await createClientWithFundedWallet(20000000); walletAccount = await client.getWalletAccount(); }); @@ -53,9 +55,7 @@ describe('Platform', () => { expect(identity).to.exist(); }); - // TODO(rs-drive-abci): restore - // logic for checking asset lock signature in rs-drive-abci is missing - it.skip('should fail to create an identity if instantLock is not valid', async () => { + it('should fail to create an identity if instantLock is not valid', async () => { await client.platform.initialize(); const { @@ -94,8 +94,7 @@ describe('Platform', () => { ); }); - // TODO(rs-drive-abci): generally test works, but sometimes fails with the deserialization error - it.skip('should fail to create an identity with already used asset lock output', async () => { + it('should fail to create an identity with already used asset lock output', async () => { // Create new identity const sourceIdentity = await client.platform.identities.register(400000); @@ -103,7 +102,7 @@ describe('Platform', () => { transaction, privateKey, outputIndex, - } = await client.platform.identities.utils.createAssetLockTransaction(100000); + } = await client.platform.identities.utils.createAssetLockTransaction(150000); const account = await client.getWalletAccount(); @@ -235,9 +234,7 @@ describe('Platform', () => { expect(identity.toBuffer().includes(bytesToCheck)).to.be.true(); }); - // TODO(rs-drive-abci): fix, - // It doesn't work. Something wrong with the serialization - describe.skip('chainLock', function describe() { + describe('chainLock', function describe() { let chainLockIdentity; this.timeout(850000); @@ -250,7 +247,7 @@ describe('Platform', () => { transaction, privateKey, outputIndex, - } = await client.platform.identities.utils.createAssetLockTransaction(100000); + } = await client.platform.identities.utils.createAssetLockTransaction(150000); const account = await client.getWalletAccount(); @@ -261,16 +258,9 @@ describe('Platform', () => { const { height: transactionHeight } = await metadataPromise; - // Changing endianness of raw txId bytes in outPoint to match expectations of dashcore-rust - let outPointBuffer = transaction.getOutPointBuffer(outputIndex); - const txIdBuffer = outPointBuffer.slice(0, 32); - const outputIndexBuffer = outPointBuffer.slice(32); - txIdBuffer.reverse(); - outPointBuffer = Buffer.concat([txIdBuffer, outputIndexBuffer]); - const assetLockProof = await client.platform.dpp.identity.createChainAssetLockProof( transactionHeight, - outPointBuffer, + transaction.getOutPointBuffer(outputIndex), ); // Wait for platform chain to sync core height up to transaction height @@ -334,8 +324,11 @@ describe('Platform', () => { }); }); - it.skip('should fail to create more documents if there are no more credits', async () => { - const lowBalanceIdentity = await client.platform.identities.register(50000); + it('should fail to create more documents if there are no more credits', async () => { + const lowBalanceIdentity = await client.platform.identities.register(150000); + + // Additional wait time to mitigate testnet latency + await waitForSTPropagated(); const document = await client.platform.documents.create( 'customContracts.niceDocument', @@ -355,32 +348,35 @@ describe('Platform', () => { broadcastError = e; } + expect(broadcastError).to.exist(); expect(broadcastError).to.be.an.instanceOf(StateTransitionBroadcastError); expect(broadcastError.getCause()).to.be.an.instanceOf( - BalanceIsNotEnoughError, + IdentityInsufficientBalanceError, ); }); - it.skip('should fail top-up if instant lock is not valid', async () => { + it('should fail top-up if instant lock is not valid', async () => { const { transaction, privateKey, outputIndex, - } = await client.platform.identity.utils.createAssetLockTransaction(15); + } = await client.platform.identities.utils.createAssetLockTransaction(15); const instantLock = createFakeInstantLock(transaction.hash); const assetLockProof = await client.platform.dpp.identity - .createInstantAssetLockProof(instantLock); + .createInstantAssetLockProof( + instantLock.toBuffer(), + transaction.toBuffer(), + outputIndex, + ); const identityTopUpTransition = client.platform.dpp.identity .createIdentityTopUpTransition( identity.getId(), - transaction, - outputIndex, assetLockProof, ); await identityTopUpTransition.signByPrivateKey( - privateKey, + privateKey.toBuffer(), IdentityPublicKey.TYPES.ECDSA_SECP256K1, ); @@ -395,10 +391,10 @@ describe('Platform', () => { } expect(broadcastError).to.exist(); - expect(broadcastError.message).to.be.equal('State Transition is invalid: InvalidIdentityAssetLockProofSignatureError: Invalid Asset lock proof signature'); - expect(broadcastError.code).to.be.equal(3); - const [error] = broadcastError.data.errors; - expect(error.name).to.equal('IdentityAssetLockTransactionNotFoundError'); + expect(broadcastError).to.be.an.instanceOf(StateTransitionBroadcastError); + expect(broadcastError.getCause()).to.be.an.instanceOf( + InvalidInstantAssetLockProofSignatureError, + ); }); it('should be able to top-up credit balance', async () => { @@ -406,7 +402,7 @@ describe('Platform', () => { identity.getId(), ); const balanceBeforeTopUp = identityBeforeTopUp.getBalance(); - const topUpAmount = 20000; + const topUpAmount = 1000000; const topUpCredits = topUpAmount * 1000; await client.platform.identities.topUp(identity.getId(), topUpAmount); @@ -424,7 +420,7 @@ describe('Platform', () => { .lessThan(balanceBeforeTopUp + topUpCredits); }); - it.skip('should be able to create more documents after the top-up', async () => { + it('should be able to create more documents after the top-up', async () => { const document = await client.platform.documents.create( 'customContracts.niceDocument', identity, @@ -441,7 +437,7 @@ describe('Platform', () => { await waitForSTPropagated(); }); - it.skip('should fail to top up an identity with already used asset lock output', async () => { + it('should fail to top up an identity with already used asset lock output', async () => { const { transaction, privateKey, @@ -460,9 +456,16 @@ describe('Platform', () => { const identityTopUpTransitionOne = await client.platform.identities.utils .createIdentityTopUpTransition(assetLockProof, privateKey, identity.getId()); + // Creating ST that tries to spend the same output + + const anotherIdentity = await client.platform.identities.register(150000); + + // Additional wait time to mitigate testnet latency + await waitForSTPropagated(); + const conflictingTopUpStateTransition = await client.platform.identities.utils - .createIdentityTopUpTransition(assetLockProof, privateKey, identity.getId()); + .createIdentityTopUpTransition(assetLockProof, privateKey, anotherIdentity.getId()); await client.platform.broadcastStateTransition( identityTopUpTransitionOne, @@ -491,6 +494,8 @@ describe('Platform', () => { let recipient; before(async () => { recipient = await client.platform.identities.register(400000); + + // Additional wait time to mitigate testnet latency await waitForSTPropagated(); }); @@ -511,6 +516,7 @@ describe('Platform', () => { transferAmount, ); + // Additional wait time to mitigate testnet latency await waitForSTPropagated(); const identityAfterTransfer = await client.platform.identities.get( @@ -538,19 +544,22 @@ describe('Platform', () => { identity.getId(), ); + let transferError; + try { await client.platform.identities.creditTransfer( identity, recipient.getId(), identity.getBalance() + 1, ); - - expect.fail('should throw an error'); } catch (e) { - expect(e).to.be.an.instanceOf(StateTransitionBroadcastError); - - expect(e.message.startsWith(`Insufficient identity $${identity.getId()} balance`)).to.be.true(); + transferError = e; } + + expect(transferError).to.exist(); + expect(transferError).to.be.an.instanceOf(StateTransitionBroadcastError); + expect(transferError.getCause()).to.be.an.instanceOf(IdentityInsufficientBalanceError); + expect(transferError.getCause().getIdentityId()).to.deep.equal(identity.getId()); }); }); }); diff --git a/packages/platform-test-suite/test/functional/platform/proofs.spec.js b/packages/platform-test-suite/test/functional/platform/proofs.spec.js index 7291d1d513..2eca4a1364 100644 --- a/packages/platform-test-suite/test/functional/platform/proofs.spec.js +++ b/packages/platform-test-suite/test/functional/platform/proofs.spec.js @@ -34,7 +34,7 @@ describe('Platform', () => { await hashFunction.init(); blake3 = hashFunction.hashFunction; - dashClient = await createClientWithFundedWallet(400000); + dashClient = await createClientWithFundedWallet(500000); await dashClient.platform.initialize(); @@ -137,11 +137,11 @@ describe('Platform', () => { let identity8PublicKeyHash; before(async () => { - identityAtKey5 = await dashClient.platform.identities.register(100000); + identityAtKey5 = await dashClient.platform.identities.register(150000); - identityAtKey6 = await dashClient.platform.identities.register(100000); + identityAtKey6 = await dashClient.platform.identities.register(150000); - identityAtKey8 = await dashClient.platform.identities.register(100000); + identityAtKey8 = await dashClient.platform.identities.register(150000); // await waitForBalanceToChange(walletAccount); diff --git a/packages/rs-dpp/src/block/block_info/mod.rs b/packages/rs-dpp/src/block/block_info/mod.rs index d25d94895f..d2da67b984 100644 --- a/packages/rs-dpp/src/block/block_info/mod.rs +++ b/packages/rs-dpp/src/block/block_info/mod.rs @@ -1,7 +1,14 @@ -use crate::block::epoch::Epoch; +use crate::block::epoch::{Epoch, EPOCH_0}; use bincode::{Decode, Encode}; use serde::{Deserialize, Serialize}; +pub const DEFAULT_BLOCK_INFO: BlockInfo = BlockInfo { + time_ms: 0, + height: 0, + core_height: 0, + epoch: EPOCH_0, +}; + // We make this immutable because it should never be changed or updated // Extended block info however is not immutable // @immutable @@ -22,6 +29,7 @@ pub struct BlockInfo { } impl BlockInfo { + // TODO: It's not actually a genesis one. We should use just default to avoid confusion /// Create block info for genesis block pub fn genesis() -> BlockInfo { BlockInfo::default() diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_basic_error.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_basic_error.rs index c379500239..19a313d702 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_basic_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_basic_error.rs @@ -9,7 +9,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Duplicated public keys ${duplicated_ids:?} found")] +#[error("Duplicated public keys {duplicated_ids:?} found")] #[platform_serialize(unversioned)] pub struct DuplicatedIdentityPublicKeyBasicError { /* diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_basic_error.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_basic_error.rs index 9cd9b9485c..cf95281b69 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_basic_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_basic_error.rs @@ -9,7 +9,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Duplicated public key ids ${duplicated_ids:?} found")] +#[error("Duplicated public key ids {duplicated_ids:?} found")] #[platform_serialize(unversioned)] pub struct DuplicatedIdentityPublicKeyIdBasicError { /* diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs index 70ebc47bd6..31b149e0e1 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs @@ -9,7 +9,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Asset lock transaction ${transaction_id:?} output ${output_index:?} already used")] +#[error("Asset lock transaction {transaction_id} output {output_index} already used")] #[platform_serialize(unversioned)] pub struct IdentityAssetLockTransactionOutPointAlreadyExistsError { /* diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs index 37fafde176..6f19174215 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs @@ -8,7 +8,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Asset Lock Transaction Output with index ${output_index} not found")] +#[error("Asset Lock Transaction Output with index {output_index} not found")] #[platform_serialize(unversioned)] pub struct IdentityAssetLockTransactionOutputNotFoundError { /* diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size.rs index dc40037f81..d096750924 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size.rs @@ -9,7 +9,7 @@ use thiserror::Error; Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] #[error( - "Asset Lock output ${output_index} has invalid public key hash. Must be 20 length bytes hash" + "Asset Lock output {output_index} has invalid public key hash. Must be 20 length bytes hash" )] #[platform_serialize(unversioned)] pub struct InvalidAssetLockTransactionOutputReturnSizeError { diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs index 430de27b82..758c9fa362 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs @@ -7,7 +7,7 @@ use thiserror::Error; use bincode::{Decode, Encode}; #[derive(Error, Debug, Clone, Encode, Decode, PlatformSerialize, PlatformDeserialize)] -#[error("Invalid asset lock transaction: ${message}")] +#[error("Invalid asset lock transaction: {message}")] #[platform_serialize(unversioned)] pub struct InvalidIdentityAssetLockTransactionError { /* diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs index ad215b2b70..495f8d7e49 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs @@ -8,7 +8,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Asset lock output ${output_index} is not a valid standard OP_RETURN output")] +#[error("Asset lock output {output_index} is not a valid standard OP_RETURN output")] #[platform_serialize(unversioned)] pub struct InvalidIdentityAssetLockTransactionOutputError { /* diff --git a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs index 08eb6828be..dabe336c60 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs @@ -8,7 +8,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Invalid instant lock proof: ${message}")] +#[error("Invalid instant lock proof: {message}")] #[platform_serialize(unversioned)] pub struct InvalidInstantAssetLockProofError { /* diff --git a/packages/rs-dpp/src/errors/consensus/state/identity/identity_already_exists_error.rs b/packages/rs-dpp/src/errors/consensus/state/identity/identity_already_exists_error.rs index 45eab230d4..b07f91df7a 100644 --- a/packages/rs-dpp/src/errors/consensus/state/identity/identity_already_exists_error.rs +++ b/packages/rs-dpp/src/errors/consensus/state/identity/identity_already_exists_error.rs @@ -9,7 +9,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Identity ${identity_id:?} already exists")] +#[error("Identity {identity_id:?} already exists")] #[platform_serialize(unversioned)] pub struct IdentityAlreadyExistsError { /* diff --git a/packages/rs-dpp/src/errors/consensus/state/identity/identity_insufficient_balance_error.rs b/packages/rs-dpp/src/errors/consensus/state/identity/identity_insufficient_balance_error.rs index 22f61886ad..0d308f7981 100644 --- a/packages/rs-dpp/src/errors/consensus/state/identity/identity_insufficient_balance_error.rs +++ b/packages/rs-dpp/src/errors/consensus/state/identity/identity_insufficient_balance_error.rs @@ -11,7 +11,7 @@ use bincode::{Decode, Encode}; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Insufficient identity ${identity_id} balance ${balance} required ${required_balance}")] +#[error("Insufficient identity {identity_id} balance {balance} required {required_balance}")] #[platform_serialize(unversioned)] pub struct IdentityInsufficientBalanceError { /* diff --git a/packages/rs-dpp/src/errors/consensus/state/identity/identity_public_key_already_exists_for_unique_contract_bounds_error.rs b/packages/rs-dpp/src/errors/consensus/state/identity/identity_public_key_already_exists_for_unique_contract_bounds_error.rs index f540be55eb..ec206efcac 100644 --- a/packages/rs-dpp/src/errors/consensus/state/identity/identity_public_key_already_exists_for_unique_contract_bounds_error.rs +++ b/packages/rs-dpp/src/errors/consensus/state/identity/identity_public_key_already_exists_for_unique_contract_bounds_error.rs @@ -10,7 +10,7 @@ use thiserror::Error; #[derive( Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, )] -#[error("Identity Public Key with id ${new_key_id} for identity ${identity_id:?} conflicts for purpose ${purpose} with key ${old_key_id} in the contract bounds of ${contract_id:?}")] +#[error("Identity Public Key with id {new_key_id} for identity {identity_id:?} conflicts for purpose {purpose} with key {old_key_id} in the contract bounds of {contract_id:?}")] #[platform_serialize(unversioned)] pub struct IdentityPublicKeyAlreadyExistsForUniqueContractBoundsError { /* diff --git a/packages/rs-dpp/src/errors/protocol_error.rs b/packages/rs-dpp/src/errors/protocol_error.rs index a439bb5352..1136eab12e 100644 --- a/packages/rs-dpp/src/errors/protocol_error.rs +++ b/packages/rs-dpp/src/errors/protocol_error.rs @@ -15,8 +15,8 @@ use crate::state_transition::errors::{ StateTransitionError, StateTransitionIsNotSignedError, WrongPublicKeyPurposeError, }; use crate::{ - CompatibleProtocolVersionIsNotDefinedError, DashPlatformProtocolInitError, NonConsensusError, - SerdeParsingError, + CompatibleProtocolVersionIsNotDefinedError, DashPlatformProtocolInitError, + InvalidVectorSizeError, NonConsensusError, SerdeParsingError, }; use dashcore::consensus::encode::Error as DashCoreError; @@ -207,6 +207,9 @@ pub enum ProtocolError { #[error("critical corrupted credits code execution: {0}")] CriticalCorruptedCreditsCodeExecution(String), + + #[error(transparent)] + InvalidVectorSizeError(InvalidVectorSizeError), } impl From<&str> for ProtocolError { @@ -244,3 +247,9 @@ impl From for ProtocolError { ProtocolError::Generic(e.to_string()) } } + +impl From for ProtocolError { + fn from(err: InvalidVectorSizeError) -> Self { + Self::InvalidVectorSizeError(err) + } +} diff --git a/packages/rs-dpp/src/identity/identity_factory.rs b/packages/rs-dpp/src/identity/identity_factory.rs index 2425f208d9..42134c9ed2 100644 --- a/packages/rs-dpp/src/identity/identity_factory.rs +++ b/packages/rs-dpp/src/identity/identity_factory.rs @@ -1,5 +1,6 @@ use crate::identity::state_transition::asset_lock_proof::chain::ChainAssetLockProof; use crate::identity::state_transition::asset_lock_proof::{AssetLockProof, InstantAssetLockProof}; +use crate::identity::state_transition::AssetLockProved; #[cfg(all(feature = "state-transitions", feature = "client"))] use crate::identity::{IdentityV0, TimestampMillis}; diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs index 29a7f70145..ba16c59386 100644 --- a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs @@ -1,20 +1,24 @@ -use platform_value::{Bytes36, Value}; -use serde::{Deserialize, Serialize}; +use ::serde::{Deserialize, Serialize}; +use platform_value::Value; use std::convert::TryFrom; +use std::io; -use crate::{ - errors::NonConsensusError, identifier::Identifier, util::hash::hash_to_vec, - util::vec::vec_to_array, ProtocolError, -}; +use crate::util::hash::hash; +use crate::{identifier::Identifier, ProtocolError}; pub use bincode::{Decode, Encode}; +use dashcore::OutPoint; -#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Encode, Decode)] +/// Instant Asset Lock Proof is a part of Identity Create and Identity Topup +/// transitions. It is a proof that specific output of dash is locked in credits +/// pull and the transitions can mint credits and populate identity's balance. +/// To prove that the output is locked, a height where transaction was chain locked is provided. +#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct ChainAssetLockProof { - #[serde(rename = "type")] - asset_lock_type: u8, + /// Core height on which the asset lock transaction was chain locked or higher pub core_chain_locked_height: u32, - pub out_point: Bytes36, + /// A reference to Asset Lock Special Transaction ID and output index in the payload + pub out_point: OutPoint, } impl TryFrom for ChainAssetLockProof { @@ -34,21 +38,20 @@ impl ChainAssetLockProof { pub fn new(core_chain_locked_height: u32, out_point: [u8; 36]) -> Self { Self { - // TODO: change to const - asset_lock_type: 1, core_chain_locked_height, - out_point: Bytes36::new(out_point), + out_point: OutPoint::from(out_point), } } - /// Get proof type - pub fn asset_lock_type() -> u8 { - 1 - } - /// Create identifier - pub fn create_identifier(&self) -> Result { - let array = vec_to_array(hash_to_vec(self.out_point.as_slice()).as_ref())?; - Ok(Identifier::new(array)) + pub fn create_identifier(&self) -> Result { + let output_vec: Vec = self + .out_point + .try_into() + .map_err(|e: io::Error| ProtocolError::EncodingError(e.to_string()))?; + + let hash = hash(output_vec); + + Ok(Identifier::new(hash)) } } diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/mod.rs index 82cde964c4..5b19d827d0 100644 --- a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/mod.rs +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/chain/mod.rs @@ -1,3 +1,2 @@ pub use chain_asset_lock_proof::*; - mod chain_asset_lock_proof; diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs index 9086e2ba8d..ac5a96d481 100644 --- a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs @@ -1,25 +1,36 @@ use std::convert::{TryFrom, TryInto}; +use std::io; use dashcore::consensus::{deserialize, Encodable}; -use dashcore::{InstantLock, Transaction, TxIn, TxOut}; +use dashcore::transaction::special_transaction::TransactionPayload; +use dashcore::{InstantLock, OutPoint, Transaction, TxIn, TxOut}; use platform_value::{BinaryData, Value}; +use crate::consensus::basic::identity::IdentityAssetLockProofLockedTransactionMismatchError; use serde::de::Error as DeError; use serde::ser::Error as SerError; use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use platform_version::version::PlatformVersion; +use crate::identity::state_transition::asset_lock_proof::validate_asset_lock_transaction_structure::validate_asset_lock_transaction_structure; use crate::prelude::Identifier; #[cfg(feature = "cbor")] use crate::util::cbor_value::CborCanonicalMap; -use crate::util::hash::hash_to_vec; -use crate::util::vec::vec_to_array; -use crate::{NonConsensusError, ProtocolError}; - +use crate::util::hash::hash; +use crate::validation::SimpleConsensusValidationResult; +use crate::ProtocolError; + +/// Instant Asset Lock Proof is a part of Identity Create and Identity Topup +/// transitions. It is a proof that specific output of dash is locked in credits +/// pull and the transitions can mint credits and populate identity's balance. +/// To prove that the output is locked, an Instant Lock is provided. #[derive(Clone, Debug, Eq, PartialEq)] pub struct InstantAssetLockProof { - asset_lock_type: u8, + /// The transaction's Instant Lock instant_lock: InstantLock, + /// Asset Lock Special Transaction transaction: Transaction, + /// Index of the output in the transaction payload output_index: u32, } @@ -28,7 +39,8 @@ impl Serialize for InstantAssetLockProof { where S: Serializer, { - let raw = RawInstantLock::try_from(self).map_err(|e| S::Error::custom(e.to_string()))?; + let raw = + RawInstantLockProof::try_from(self).map_err(|e| S::Error::custom(e.to_string()))?; raw.serialize(serializer) } @@ -39,7 +51,7 @@ impl<'de> Deserialize<'de> for InstantAssetLockProof { where D: Deserializer<'de>, { - let raw = RawInstantLock::deserialize(deserializer)?; + let raw = RawInstantLockProof::deserialize(deserializer)?; raw.try_into() .map_err(|e: ProtocolError| D::Error::custom(e.to_string())) } @@ -56,7 +68,6 @@ impl Default for InstantAssetLockProof { fn default() -> Self { Self { // TODO: change to a const - asset_lock_type: 0, instant_lock: InstantLock::default(), transaction: Transaction { version: 0, @@ -73,25 +84,20 @@ impl Default for InstantAssetLockProof { impl InstantAssetLockProof { pub fn new(instant_lock: InstantLock, transaction: Transaction, output_index: u32) -> Self { Self { - // TODO: change the type to a const instant_lock, transaction, output_index, - asset_lock_type: 0, } } pub fn to_object(&self) -> Result { platform_value::to_value(self).map_err(ProtocolError::ValueError) } + pub fn to_cleaned_object(&self) -> Result { self.to_object() } - pub fn asset_lock_type(&self) -> u8 { - self.asset_lock_type - } - pub fn instant_lock(&self) -> &InstantLock { &self.instant_lock } @@ -100,31 +106,37 @@ impl InstantAssetLockProof { &self.transaction } - pub fn output_index(&self) -> usize { - self.output_index as usize + pub fn output_index(&self) -> u32 { + self.output_index } - pub fn out_point(&self) -> Option<[u8; 36]> { - let out_point_buffer = self.transaction.out_point_buffer(self.output_index()); - - out_point_buffer.map(|mut buffer| { - let (tx_id, _) = buffer.split_at_mut(32); - tx_id.reverse(); - buffer - }) + pub fn out_point(&self) -> Option { + self.output() + .map(|_| OutPoint::new(self.transaction.txid(), self.output_index)) } pub fn output(&self) -> Option<&TxOut> { - self.transaction.output.get(self.output_index()) + if let Some(TransactionPayload::AssetLockPayloadType(ref payload)) = + self.transaction.special_transaction_payload + { + payload.credit_outputs.get(self.output_index() as usize) + } else { + None + } } - pub fn create_identifier(&self) -> Result { - let out_point = self.out_point().ok_or_else(|| { - NonConsensusError::IdentifierCreateError(String::from("No output at a given index")) + pub fn create_identifier(&self) -> Result { + let outpoint = self.out_point().ok_or_else(|| { + ProtocolError::IdentifierError(String::from("No output at a given index")) })?; - let buffer = hash_to_vec(out_point); - Ok(Identifier::new(vec_to_array(&buffer)?)) + let output_vec: Vec = outpoint + .try_into() + .map_err(|e: io::Error| ProtocolError::EncodingError(e.to_string()))?; + + let hash = hash(output_vec); + + Ok(Identifier::new(hash)) } #[cfg(feature = "cbor")] @@ -139,7 +151,6 @@ impl InstantAssetLockProof { .consensus_encode(&mut transaction_buffer) .map_err(|e| ProtocolError::EncodingError(e.to_string()))?; - map.insert("type", self.asset_lock_type); map.insert("outputIndex", self.output_index); map.insert("transaction", transaction_buffer); map.insert("instantLock", is_lock_buffer); @@ -147,30 +158,59 @@ impl InstantAssetLockProof { map.to_bytes() .map_err(|e| ProtocolError::EncodingError(e.to_string())) } + + // TODO: Versioning + /// Validate Instant Asset Lock Proof structure + #[cfg(feature = "validation")] + pub fn validate_structure( + &self, + platform_version: &PlatformVersion, + ) -> Result { + let mut result = SimpleConsensusValidationResult::default(); + + let transaction_id = self.transaction().txid(); + if self.instant_lock().txid != transaction_id { + result.add_error(IdentityAssetLockProofLockedTransactionMismatchError::new( + self.instant_lock().txid, + transaction_id, + )); + + return Ok(result); + } + + let validate_transaction_result = validate_asset_lock_transaction_structure( + self.transaction(), + self.output_index(), + platform_version, + )?; + + if !validate_transaction_result.is_valid() { + result.merge(validate_transaction_result); + } + + Ok(result) + } } #[derive(Serialize, Deserialize, Clone, Debug)] #[serde(rename_all = "camelCase")] /// "Raw" instant lock for serialization -pub struct RawInstantLock { - #[serde(rename = "type")] - lock_type: u8, +pub struct RawInstantLockProof { instant_lock: BinaryData, transaction: BinaryData, output_index: u32, } -impl TryFrom for InstantAssetLockProof { +impl TryFrom for InstantAssetLockProof { type Error = ProtocolError; - fn try_from(raw_instant_lock: RawInstantLock) -> Result { + fn try_from(raw_instant_lock: RawInstantLockProof) -> Result { let transaction = deserialize(raw_instant_lock.transaction.as_slice()) .map_err(|e| ProtocolError::DecodingError(e.to_string()))?; let instant_lock = deserialize(raw_instant_lock.instant_lock.as_slice()) .map_err(|e| ProtocolError::DecodingError(e.to_string()))?; Ok(Self { - asset_lock_type: raw_instant_lock.lock_type, transaction, instant_lock, output_index: raw_instant_lock.output_index, @@ -178,7 +218,7 @@ impl TryFrom for InstantAssetLockProof { } } -impl TryFrom<&InstantAssetLockProof> for RawInstantLock { +impl TryFrom<&InstantAssetLockProof> for RawInstantLockProof { type Error = ProtocolError; fn try_from(instant_asset_lock_proof: &InstantAssetLockProof) -> Result { @@ -194,7 +234,6 @@ impl TryFrom<&InstantAssetLockProof> for RawInstantLock { .map_err(|e| ProtocolError::EncodingError(e.to_string()))?; Ok(Self { - lock_type: instant_asset_lock_proof.asset_lock_type, instant_lock: BinaryData::new(is_lock_buffer), transaction: BinaryData::new(transaction_buffer), output_index: instant_asset_lock_proof.output_index, diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/mod.rs index 77beabf041..395190bec9 100644 --- a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/mod.rs +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/mod.rs @@ -1,6 +1,6 @@ use std::convert::{TryFrom, TryInto}; -use dashcore::{Transaction, TxOut}; +use dashcore::{OutPoint, Transaction, TxOut}; use serde::{Deserialize, Deserializer, Serialize}; @@ -8,26 +8,30 @@ pub use bincode::{Decode, Encode}; pub use chain::*; pub use instant::*; use platform_value::Value; +use platform_version::version::PlatformVersion; use serde::de::Error; use crate::identity::state_transition::asset_lock_proof::chain::ChainAssetLockProof; use crate::prelude::Identifier; -use crate::{NonConsensusError, ProtocolError, SerdeParsingError}; +use crate::validation::SimpleConsensusValidationResult; +use crate::{ProtocolError, SerdeParsingError}; pub mod chain; pub mod instant; +pub mod validate_asset_lock_transaction_structure; +// TODO: Serialization with bincode #[derive(Clone, Debug, Eq, PartialEq, Serialize, Encode, Decode)] #[serde(untagged)] pub enum AssetLockProof { Instant(#[bincode(with_serde)] InstantAssetLockProof), - Chain(ChainAssetLockProof), + Chain(#[bincode(with_serde)] ChainAssetLockProof), } #[derive(Deserialize)] #[serde(untagged)] enum RawAssetLockProof { - Instant(RawInstantLock), + Instant(RawInstantLockProof), Chain(ChainAssetLockProof), } @@ -71,64 +75,6 @@ impl<'de> Deserialize<'de> for AssetLockProof { .map_err(|e: ProtocolError| D::Error::custom(e.to_string())) } } -// -// impl AssetLockProof { -// /// This fetches the asset lock transaction output from core -// pub async fn fetch_asset_lock_transaction_output( -// &self, -// state_repository: &impl StateRepositoryLike, -// execution_context: &StateTransitionExecutionContext, -// ) -> Result { -// match self { -// AssetLockProof::Instant(asset_lock_proof) => asset_lock_proof -// .output() -// .ok_or_else(|| DPPError::from(AssetLockOutputNotFoundError::new())) -// .cloned(), -// AssetLockProof::Chain(asset_lock_proof) => { -// let out_point = OutPoint::from(asset_lock_proof.out_point.to_buffer()); -// -// let output_index = out_point.vout as usize; -// let transaction_hash = out_point.txid; -// -// let transaction_data = state_repository -// .fetch_transaction(&transaction_hash.to_hex(), Some(execution_context)) -// .await -// .map_err(|_| DPPError::InvalidAssetLockTransaction)?; -// -// if execution_context.is_dry_run() { -// return Ok(TxOut { -// value: 1000, -// ..Default::default() -// }); -// } -// -// let transaction_data = transaction_data -// .try_into() -// .map_err(|e| DPPError::CoreMessageCorruption(format!("{:?}", e.into())))?; -// -// if let Some(raw_transaction) = transaction_data.data { -// let transaction = Transaction::consensus_decode(raw_transaction.as_slice()) -// .map_err(|e| { -// DPPError::CoreMessageCorruption(format!( -// "could not decode transaction {:?}", -// e -// )) -// })?; -// -// transaction -// .output -// .get(output_index) -// .cloned() -// .ok_or_else(|| AssetLockOutputNotFoundError::new().into()) -// } else { -// Err(DPPError::from(AssetLockTransactionIsNotFoundError::new( -// transaction_hash, -// ))) -// } -// } -// } -// } -// } impl Default for AssetLockProof { fn default() -> Self { @@ -207,6 +153,7 @@ impl TryFrom for AssetLockProofType { } } +// TODO: Versioning impl AssetLockProof { pub fn type_from_raw_value(value: &Value) -> Option { let proof_type_res = value.get_integer::("type"); @@ -223,31 +170,24 @@ impl AssetLockProof { } } - pub fn create_identifier(&self) -> Result { + pub fn create_identifier(&self) -> Result { match self { AssetLockProof::Instant(instant_proof) => instant_proof.create_identifier(), AssetLockProof::Chain(chain_proof) => chain_proof.create_identifier(), } } - pub fn instant_lock_output(&self) -> Option<&TxOut> { - match self { - AssetLockProof::Instant(proof) => proof.output(), - AssetLockProof::Chain(_) => None, - } - } - - pub fn instant_lock_output_index(&self) -> Option { + pub fn output_index(&self) -> u32 { match self { - AssetLockProof::Instant(proof) => Some(proof.output_index()), - AssetLockProof::Chain(_) => None, + AssetLockProof::Instant(proof) => proof.output_index(), + AssetLockProof::Chain(proof) => proof.out_point.vout, } } - pub fn out_point(&self) -> Option<[u8; 36]> { + pub fn out_point(&self) -> Option { match self { AssetLockProof::Instant(proof) => proof.out_point(), - AssetLockProof::Chain(proof) => Some(proof.out_point.to_buffer()), + AssetLockProof::Chain(proof) => Some(proof.out_point), } } @@ -268,6 +208,18 @@ impl AssetLockProof { } } } + + /// Validate the structure of the asset lock proof + #[cfg(feature = "validation")] + pub fn validate_structure( + &self, + platform_version: &PlatformVersion, + ) -> Result { + match self { + AssetLockProof::Instant(proof) => proof.validate_structure(platform_version), + AssetLockProof::Chain(_) => Ok(SimpleConsensusValidationResult::default()), + } + } } impl TryFrom<&Value> for AssetLockProof { diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/mod.rs new file mode 100644 index 0000000000..64e8cdcd7c --- /dev/null +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/mod.rs @@ -0,0 +1,28 @@ +use crate::validation::SimpleConsensusValidationResult; +use crate::ProtocolError; +use dashcore::Transaction; +use platform_version::version::PlatformVersion; + +mod v0; + +/// Validates asset lock transaction structure +pub fn validate_asset_lock_transaction_structure( + transaction: &Transaction, + output_index: u32, + platform_version: &PlatformVersion, +) -> Result { + match platform_version + .dpp + .state_transitions + .identities + .asset_locks + .validate_asset_lock_transaction_structure + { + 0 => v0::validate_asset_lock_transaction_structure_v0(transaction, output_index), + version => Err(ProtocolError::UnknownVersionMismatch { + method: "validate_asset_lock_transaction_structure".to_string(), + known_versions: vec![0], + received: version, + }), + } +} diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/v0/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/v0/mod.rs new file mode 100644 index 0000000000..0a3bb4b1b2 --- /dev/null +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/validate_asset_lock_transaction_structure/v0/mod.rs @@ -0,0 +1,50 @@ +use crate::consensus::basic::identity::{ + IdentityAssetLockTransactionOutputNotFoundError, InvalidIdentityAssetLockTransactionError, + InvalidIdentityAssetLockTransactionOutputError, +}; +use crate::validation::SimpleConsensusValidationResult; +use crate::ProtocolError; +use dashcore::transaction::special_transaction::TransactionPayload; +use dashcore::Transaction; + +/// Validates asset lock transaction structure +pub fn validate_asset_lock_transaction_structure_v0( + transaction: &Transaction, + output_index: u32, +) -> Result { + let mut result = SimpleConsensusValidationResult::default(); + + // It must be an Asset Lock Special Transaction + let Some(TransactionPayload::AssetLockPayloadType(ref payload)) = + transaction.special_transaction_payload + else { + return Ok(SimpleConsensusValidationResult::new_with_error( + InvalidIdentityAssetLockTransactionError::new( + "Funding transaction must have an Asset Lock Special Transaction Payload", + ) + .into(), + )); + }; + + // Output index should point to existing funding output in payload + let Some(output) = payload.credit_outputs.get(output_index as usize) else { + result.add_error(IdentityAssetLockTransactionOutputNotFoundError::new( + output_index as usize, + )); + + return Ok(result); + }; + + // Output should be P2PKH + if !output.script_pubkey.is_p2pkh() { + result.add_error(InvalidIdentityAssetLockTransactionOutputError::new( + output_index as usize, + )); + + return Ok(result); + } + + // TODO: Do we need to perform whole validation what Core supposed to do? + + Ok(result) +} diff --git a/packages/rs-dpp/src/identity/state_transition/mod.rs b/packages/rs-dpp/src/identity/state_transition/mod.rs index fe9bd8d630..a2b4256eb6 100644 --- a/packages/rs-dpp/src/identity/state_transition/mod.rs +++ b/packages/rs-dpp/src/identity/state_transition/mod.rs @@ -1 +1,18 @@ +// TODO: Move to state_transitions module + +use crate::ProtocolError; +use asset_lock_proof::AssetLockProof; + pub mod asset_lock_proof; + +/// Objects with Asset Lock Proof +pub trait AssetLockProved { + /// Set asset lock proof + fn set_asset_lock_proof( + &mut self, + asset_lock_proof: AssetLockProof, + ) -> Result<(), ProtocolError>; + + /// Get asset lock proof + fn asset_lock_proof(&self) -> &AssetLockProof; +} diff --git a/packages/rs-dpp/src/serialization/serialization_traits.rs b/packages/rs-dpp/src/serialization/serialization_traits.rs index 7a49c3b9fe..9c83fe4a56 100644 --- a/packages/rs-dpp/src/serialization/serialization_traits.rs +++ b/packages/rs-dpp/src/serialization/serialization_traits.rs @@ -165,6 +165,7 @@ pub trait PlatformMessageSignable { public_key_data: &[u8], signature: &[u8], ) -> Result; + fn sign_by_private_key( &self, private_key: &[u8], diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/mod.rs index bd450ed393..eefb63b318 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/mod.rs @@ -8,23 +8,6 @@ use platform_value::Identifier; pub use v0::*; impl IdentityCreateTransitionAccessorsV0 for IdentityCreateTransition { - fn set_asset_lock_proof( - &mut self, - asset_lock_proof: AssetLockProof, - ) -> Result<(), NonConsensusError> { - match self { - IdentityCreateTransition::V0(transition) => { - transition.set_asset_lock_proof(asset_lock_proof) - } - } - } - - fn asset_lock_proof(&self) -> &AssetLockProof { - match self { - IdentityCreateTransition::V0(transition) => transition.asset_lock_proof(), - } - } - fn public_keys(&self) -> &[IdentityPublicKeyInCreation] { match self { IdentityCreateTransition::V0(transition) => transition.public_keys(), diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/v0/mod.rs index 251fd07fcd..6ed97a53fc 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/accessors/v0/mod.rs @@ -1,16 +1,7 @@ -use crate::prelude::AssetLockProof; use crate::state_transition::public_key_in_creation::IdentityPublicKeyInCreation; -use crate::NonConsensusError; use platform_value::Identifier; pub trait IdentityCreateTransitionAccessorsV0 { - /// Set asset lock - fn set_asset_lock_proof( - &mut self, - asset_lock_proof: AssetLockProof, - ) -> Result<(), NonConsensusError>; - /// Get asset lock proof - fn asset_lock_proof(&self) -> &AssetLockProof; /// Get identity public keys fn public_keys(&self) -> &[IdentityPublicKeyInCreation]; /// Replaces existing set of public keys with a new one diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/mod.rs index bff041a8fe..91aab6d499 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/mod.rs @@ -3,6 +3,7 @@ mod fields; #[cfg(feature = "state-transition-json-conversion")] mod json_conversion; pub mod methods; +pub mod proved; mod state_transition_like; pub mod v0; #[cfg(feature = "state-transition-value-conversion")] diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/proved.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/proved.rs new file mode 100644 index 0000000000..79954d54f9 --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/proved.rs @@ -0,0 +1,21 @@ +use crate::identity::state_transition::AssetLockProved; +use crate::prelude::AssetLockProof; +use crate::state_transition::identity_create_transition::IdentityCreateTransition; +use crate::ProtocolError; + +impl AssetLockProved for IdentityCreateTransition { + fn set_asset_lock_proof( + &mut self, + asset_lock_proof: AssetLockProof, + ) -> Result<(), ProtocolError> { + match self { + IdentityCreateTransition::V0(v0) => v0.set_asset_lock_proof(asset_lock_proof), + } + } + + fn asset_lock_proof(&self) -> &AssetLockProof { + match self { + IdentityCreateTransition::V0(v0) => v0.asset_lock_proof(), + } + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/mod.rs index 7e6dbacfe9..9b246d266b 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/mod.rs @@ -1,5 +1,6 @@ #[cfg(feature = "state-transition-json-conversion")] mod json_conversion; +mod proved; mod state_transition_like; mod types; pub(super) mod v0_methods; @@ -20,6 +21,7 @@ use crate::identity::Identity; use crate::prelude::Identifier; use crate::identity::accessors::IdentityGettersV0; +use crate::identity::state_transition::AssetLockProved; use crate::state_transition::identity_create_transition::accessors::IdentityCreateTransitionAccessorsV0; use crate::state_transition::public_key_in_creation::IdentityPublicKeyInCreation; use crate::state_transition::public_key_in_creation::IdentityPublicKeyInCreationSignable; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/proved.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/proved.rs new file mode 100644 index 0000000000..5c8da97eac --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/proved.rs @@ -0,0 +1,21 @@ +use crate::identity::state_transition::AssetLockProved; +use crate::prelude::AssetLockProof; +use crate::state_transition::identity_create_transition::v0::IdentityCreateTransitionV0; +use crate::ProtocolError; + +impl AssetLockProved for IdentityCreateTransitionV0 { + fn set_asset_lock_proof( + &mut self, + asset_lock_proof: AssetLockProof, + ) -> Result<(), ProtocolError> { + self.identity_id = asset_lock_proof.create_identifier()?; + + self.asset_lock_proof = asset_lock_proof; + + Ok(()) + } + + fn asset_lock_proof(&self) -> &AssetLockProof { + &self.asset_lock_proof + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/v0_methods.rs index 942271b446..cec855002f 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/v0_methods.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/v0_methods.rs @@ -6,6 +6,7 @@ use crate::{ use crate::identity::accessors::IdentityGettersV0; use crate::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; use crate::identity::signer::Signer; +use crate::identity::state_transition::AssetLockProved; use crate::identity::Identity; use crate::identity::KeyType::ECDSA_HASH160; use crate::prelude::AssetLockProof; @@ -72,23 +73,6 @@ impl IdentityCreateTransitionMethodsV0 for IdentityCreateTransitionV0 { } impl IdentityCreateTransitionAccessorsV0 for IdentityCreateTransitionV0 { - /// Set asset lock - fn set_asset_lock_proof( - &mut self, - asset_lock_proof: AssetLockProof, - ) -> Result<(), NonConsensusError> { - self.identity_id = asset_lock_proof.create_identifier()?; - - self.asset_lock_proof = asset_lock_proof; - - Ok(()) - } - - /// Get asset lock proof - fn asset_lock_proof(&self) -> &AssetLockProof { - &self.asset_lock_proof - } - /// Get identity public keys fn public_keys(&self) -> &[IdentityPublicKeyInCreation] { &self.public_keys diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/value_conversion.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/value_conversion.rs index cfb54fb22b..16e704b636 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/value_conversion.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_create_transition/v0/value_conversion.rs @@ -13,6 +13,7 @@ use crate::{ use crate::prelude::AssetLockProof; +use crate::identity::state_transition::AssetLockProved; use crate::state_transition::identity_create_transition::accessors::IdentityCreateTransitionAccessorsV0; use crate::state_transition::identity_create_transition::fields::*; use crate::state_transition::identity_create_transition::v0::IdentityCreateTransitionV0; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/mod.rs index 1abdc046d3..2f9df88f1a 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/mod.rs @@ -8,20 +8,6 @@ use crate::state_transition::identity_topup_transition::IdentityTopUpTransition; use platform_value::Identifier; impl IdentityTopUpTransitionAccessorsV0 for IdentityTopUpTransition { - fn set_asset_lock_proof(&mut self, asset_lock_proof: AssetLockProof) { - match self { - IdentityTopUpTransition::V0(transition) => { - transition.set_asset_lock_proof(asset_lock_proof) - } - } - } - - fn asset_lock_proof(&self) -> &AssetLockProof { - match self { - IdentityTopUpTransition::V0(transition) => transition.asset_lock_proof(), - } - } - fn set_identity_id(&mut self, identity_id: Identifier) { match self { IdentityTopUpTransition::V0(transition) => transition.set_identity_id(identity_id), diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/v0/mod.rs index fff0a3de42..70a37ee7ff 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/accessors/v0/mod.rs @@ -1,13 +1,9 @@ -use crate::prelude::AssetLockProof; use platform_value::Identifier; pub trait IdentityTopUpTransitionAccessorsV0 { - /// Set asset lock - fn set_asset_lock_proof(&mut self, asset_lock_proof: AssetLockProof); - /// Get asset lock proof - fn asset_lock_proof(&self) -> &AssetLockProof; /// Set identity id fn set_identity_id(&mut self, identity_id: Identifier); + /// Returns identity id fn identity_id(&self) -> &Identifier; } diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/mod.rs index 287a02bcce..21f72678d8 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/mod.rs @@ -3,6 +3,7 @@ pub mod fields; #[cfg(feature = "state-transition-json-conversion")] mod json_conversion; pub mod methods; +pub mod proved; mod state_transition_like; pub mod v0; #[cfg(feature = "state-transition-value-conversion")] diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/proved.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/proved.rs new file mode 100644 index 0000000000..3d99212808 --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/proved.rs @@ -0,0 +1,21 @@ +use crate::identity::state_transition::AssetLockProved; +use crate::prelude::AssetLockProof; +use crate::state_transition::identity_topup_transition::IdentityTopUpTransition; +use crate::ProtocolError; + +impl AssetLockProved for IdentityTopUpTransition { + fn set_asset_lock_proof( + &mut self, + asset_lock_proof: AssetLockProof, + ) -> Result<(), ProtocolError> { + match self { + Self::V0(v0) => v0.set_asset_lock_proof(asset_lock_proof), + } + } + + fn asset_lock_proof(&self) -> &AssetLockProof { + match self { + Self::V0(v0) => v0.asset_lock_proof(), + } + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/mod.rs index dc0094a321..f2bd2b0616 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/mod.rs @@ -1,5 +1,6 @@ #[cfg(feature = "state-transition-json-conversion")] mod json_conversion; +mod proved; mod state_transition_like; mod types; pub(super) mod v0_methods; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/proved.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/proved.rs new file mode 100644 index 0000000000..9eb1d3dd21 --- /dev/null +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/proved.rs @@ -0,0 +1,19 @@ +use crate::identity::state_transition::AssetLockProved; +use crate::prelude::AssetLockProof; +use crate::state_transition::identity_topup_transition::v0::IdentityTopUpTransitionV0; +use crate::ProtocolError; + +impl AssetLockProved for IdentityTopUpTransitionV0 { + fn set_asset_lock_proof( + &mut self, + asset_lock_proof: AssetLockProof, + ) -> Result<(), ProtocolError> { + self.asset_lock_proof = asset_lock_proof; + + Ok(()) + } + + fn asset_lock_proof(&self) -> &AssetLockProof { + &self.asset_lock_proof + } +} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/v0_methods.rs index 6904e45902..fb69de7320 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/v0_methods.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/v0/v0_methods.rs @@ -39,16 +39,6 @@ impl IdentityTopUpTransitionMethodsV0 for IdentityTopUpTransitionV0 { } impl IdentityTopUpTransitionAccessorsV0 for IdentityTopUpTransitionV0 { - /// Set asset lock - fn set_asset_lock_proof(&mut self, asset_lock_proof: AssetLockProof) { - self.asset_lock_proof = asset_lock_proof; - } - - /// Get asset lock proof - fn asset_lock_proof(&self) -> &AssetLockProof { - &self.asset_lock_proof - } - /// Set identity id fn set_identity_id(&mut self, identity_id: Identifier) { self.identity_id = identity_id; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/identity_topup_transition_basic_validator.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/identity_topup_transition_basic_validator.rs deleted file mode 100644 index 95cc118447..0000000000 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/identity_topup_transition_basic_validator.rs +++ /dev/null @@ -1,93 +0,0 @@ -use std::sync::Arc; - -use lazy_static::lazy_static; -use platform_value::Value; -use serde_json::Value as JsonValue; - -use crate::identity::state_transition::asset_lock_proof::AssetLockProofValidator; -use crate::state_repository::StateRepositoryLike; -use crate::state_transition::state_transition_execution_context::StateTransitionExecutionContext; -use crate::validation::{JsonSchemaValidator, SimpleConsensusValidationResult}; -use crate::version::ProtocolVersionValidator; -use crate::{DashPlatformProtocolInitError, NonConsensusError}; - -lazy_static! { - pub static ref IDENTITY_TOP_UP_TRANSITION_SCHEMA: JsonValue = serde_json::from_str( - include_str!("../../../../../schema/identity/stateTransition/identityTopUp.json") - ) - .unwrap(); - pub static ref IDENTITY_TOP_UP_TRANSITION_SCHEMA_VALIDATOR: JsonSchemaValidator = - JsonSchemaValidator::new(IDENTITY_TOP_UP_TRANSITION_SCHEMA.clone()) - .expect("unable to compile jsonschema"); -} - -const ASSET_LOCK_PROOF_PROPERTY_NAME: &str = "assetLockProof"; - -pub struct IdentityTopUpTransitionBasicValidator { - protocol_version_validator: ProtocolVersionValidator, - json_schema_validator: JsonSchemaValidator, - asset_lock_proof_validator: Arc>, -} - -impl IdentityTopUpTransitionBasicValidator { - pub fn new( - protocol_version_validator: ProtocolVersionValidator, - asset_lock_proof_validator: Arc>, - ) -> Result { - let json_schema_validator = - JsonSchemaValidator::new(IDENTITY_TOP_UP_TRANSITION_SCHEMA.clone())?; - - let identity_validator = Self { - protocol_version_validator, - json_schema_validator, - asset_lock_proof_validator, - }; - - Ok(identity_validator) - } - - pub async fn validate( - &self, - identity_topup_transition_object: &Value, - execution_context: &StateTransitionExecutionContext, - ) -> Result { - let mut result = self.json_schema_validator.validate( - &identity_topup_transition_object - .try_to_validating_json() - .map_err(NonConsensusError::ValueError)?, - )?; - - if !result.is_valid() { - return Ok(result); - } - - result.merge( - self.protocol_version_validator.validate( - identity_topup_transition_object - .get_integer("protocolVersion") - .map_err(NonConsensusError::ValueError)?, - )?, - ); - - if !result.is_valid() { - return Ok(result); - } - - result.merge( - self.asset_lock_proof_validator - .validate_structure( - identity_topup_transition_object - .get_value(ASSET_LOCK_PROOF_PROPERTY_NAME) - .map_err(NonConsensusError::ValueError)?, - execution_context, - ) - .await?, - ); - - Ok(result) - } - - pub fn protocol_version_validator(&mut self) -> &mut ProtocolVersionValidator { - &mut self.protocol_version_validator - } -} diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/mod.rs deleted file mode 100644 index 35342a00ad..0000000000 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/basic/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub use identity_topup_transition_basic_validator::*; - -mod identity_topup_transition_basic_validator; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/mod.rs deleted file mode 100644 index 61c6980b50..0000000000 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod basic; -pub mod state; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/state/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/state/mod.rs deleted file mode 100644 index 974a119ae2..0000000000 --- a/packages/rs-dpp/src/state_transition/state_transitions/identity/identity_topup_transition/validation/state/mod.rs +++ /dev/null @@ -1,71 +0,0 @@ -use crate::identity::state_transition::identity_topup_transition::{ - IdentityTopUpTransition, IdentityTopUpTransitionAction, -}; -use crate::state_repository::StateRepositoryLike; - -use crate::state_transition::state_transition_execution_context::StateTransitionExecutionContext; -use crate::validation::{AsyncDataValidator, ConsensusValidationResult}; -use crate::{NonConsensusError, ProtocolError}; -use async_trait::async_trait; - -pub struct IdentityTopUpTransitionStateValidator -where - SR: StateRepositoryLike, -{ - state_repository: SR, -} - -#[async_trait(?Send)] -impl AsyncDataValidator for IdentityTopUpTransitionStateValidator -where - SR: StateRepositoryLike, -{ - type Item = IdentityTopUpTransition; - type ResultItem = IdentityTopUpTransitionAction; - - async fn validate( - &self, - data: &Self::Item, - execution_context: &StateTransitionExecutionContext, - ) -> Result, ProtocolError> { - validate_identity_topup_transition_state(&self.state_repository, data, execution_context) - .await - .map_err(|err| err.into()) - } -} - -impl IdentityTopUpTransitionStateValidator -where - SR: StateRepositoryLike, -{ - pub fn new(state_repository: SR) -> IdentityTopUpTransitionStateValidator - where - SR: StateRepositoryLike, - { - IdentityTopUpTransitionStateValidator { state_repository } - } -} - -/// Validate that identity exists -/// -/// Do we need to check that key ids are incremental? -/// -/// For later versions: -/// 1. We need to check that outpoint exists (not now) -/// 2. Verify ownership proof signature, as it requires special transaction to be implemented -pub async fn validate_identity_topup_transition_state( - state_repository: &impl StateRepositoryLike, - state_transition: &IdentityTopUpTransition, - execution_context: &StateTransitionExecutionContext, -) -> Result, NonConsensusError> { - //todo: I think we need to validate that the identity actually exists - let top_up_balance_amount = state_transition - .asset_lock_proof - .fetch_asset_lock_transaction_output(state_repository, execution_context) - .await - .map_err(Into::::into)?; - Ok( - IdentityTopUpTransitionAction::from_borrowed(state_transition, top_up_balance_amount.value) - .into(), - ) -} diff --git a/packages/rs-dpp/src/tests/fixtures/instant_asset_lock_proof_fixture.rs b/packages/rs-dpp/src/tests/fixtures/instant_asset_lock_proof_fixture.rs index f162e7a9fc..9a1a627f0b 100644 --- a/packages/rs-dpp/src/tests/fixtures/instant_asset_lock_proof_fixture.rs +++ b/packages/rs-dpp/src/tests/fixtures/instant_asset_lock_proof_fixture.rs @@ -2,8 +2,11 @@ use std::str::FromStr; use dashcore::bls_sig_utils::BLSSignature; use dashcore::hash_types::CycleHash; +use dashcore::hashes::Hash; use dashcore::secp256k1::rand::thread_rng; use dashcore::secp256k1::Secp256k1; +use dashcore::transaction::special_transaction::asset_lock::AssetLockPayload; +use dashcore::transaction::special_transaction::TransactionPayload; use dashcore::{ secp256k1::SecretKey, InstantLock, Network, OutPoint, PrivateKey, ScriptBuf, Transaction, TxIn, TxOut, Txid, @@ -53,34 +56,50 @@ pub fn instant_asset_lock_proof_transaction_fixture( one_time_private_key.unwrap_or_else(|| PrivateKey::new(secret_key, Network::Testnet)); let one_time_public_key = one_time_private_key.public_key(&secp); - let txid = + // We are going to fund 1 Dash and + // assume that input has 100005000 + // 5000 will be returned back + + let input_txid = Txid::from_str("a477af6b2667c29670467e4e0728b685ee07b240235771862318e29ddbe58458").unwrap(); - let outpoint = OutPoint::new(txid, 0); + + let input_outpoint = OutPoint::new(input_txid, 0); + let input = TxIn { - previous_output: outpoint, + previous_output: input_outpoint, script_sig: ScriptBuf::new_p2pkh(&public_key_hash), sequence: 0, witness: Default::default(), }; + let one_time_key_hash = one_time_public_key.pubkey_hash(); + + let funding_output = TxOut { + value: 100000000, // 1 Dash + script_pubkey: ScriptBuf::new_p2pkh(&one_time_key_hash), + }; + let burn_output = TxOut { value: 100000000, // 1 Dash - script_pubkey: ScriptBuf::new_op_return(&one_time_key_hash), + script_pubkey: ScriptBuf::new_op_return(&[]), }; + let change_output = TxOut { value: 5000, script_pubkey: ScriptBuf::new_p2pkh(&public_key_hash), }; - let unrelated_burn_output = TxOut { - value: 5000, - script_pubkey: ScriptBuf::new_op_return(&[1, 2, 3]), - }; + + let payload = TransactionPayload::AssetLockPayloadType(AssetLockPayload { + version: 0, + credit_outputs: vec![funding_output], + }); + Transaction { version: 0, lock_time: 0, input: vec![input], - output: vec![burn_output, change_output, unrelated_burn_output], - special_transaction_payload: None, + output: vec![burn_output, change_output], + special_transaction_payload: Some(payload), } } diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index 58b0a4b100..0d7e4a7e87 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -32,7 +32,7 @@ bs58 = "0.4.0" hex = "0.4.3" indexmap = { version = "1.9.3", features = ["serde"] } sha2 = "0.10.6" -dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", tag = "v0.15.1" } +dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", branch = "master" } dpp = { path = "../rs-dpp", features = ["abci"] } strategy-tests = { path = "../strategy-tests" } simple-signer = { path = "../simple-signer" } diff --git a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs index 607f8b84d2..8368c3e21d 100644 --- a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs @@ -8,10 +8,12 @@ use crate::platform_types::state_transition_execution_result::StateTransitionExe use crate::platform_types::state_transition_execution_result::StateTransitionExecutionResult::ConsensusExecutionError; use crate::rpc::core::CoreRPCLike; use dpp::block::block_info::BlockInfo; +use dpp::block::epoch::Epoch; use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0Getters; use dpp::consensus::basic::decode::SerializedObjectParsingError; use dpp::consensus::basic::BasicError; use dpp::consensus::ConsensusError; +use dpp::fee::epoch::GENESIS_EPOCH_INDEX; use dpp::fee::fee_result::FeeResult; use dpp::serialization::PlatformDeserializable; use dpp::state_transition::StateTransition; @@ -40,6 +42,7 @@ where state: &state_read_guard, config: &self.config, core_rpc: &self.core_rpc, + block_info, }; let state_transition_execution_event = @@ -86,40 +89,28 @@ where )) } }; + let state_read_guard = self.state.read().unwrap(); + + // Latest committed or genesis block info + let block_info = state_read_guard.any_block_info(); + let platform_ref = PlatformRef { drive: &self.drive, state: &state_read_guard, config: &self.config, core_rpc: &self.core_rpc, + block_info, }; + let execution_event = process_state_transition(&platform_ref, state_transition, None)?; let platform_version = platform_ref.state.current_platform_version()?; - // We should run the execution event in dry run to see if we would have enough fees for the transaction - - // We need the approximate block info - if let Some(block_info) = state_read_guard.last_committed_block_info().as_ref() { - // We do not put the transaction, because this event happens outside of a block - execution_event.and_then_borrowed_validation(|execution_event| { - self.validate_fees_of_event( - execution_event, - block_info.basic_info(), - None, - platform_version, - ) - }) - } else { - execution_event.and_then_borrowed_validation(|execution_event| { - self.validate_fees_of_event( - execution_event, - &BlockInfo::default(), - None, - platform_version, - ) - }) - } + // We should run the execution event in dry run to see if we would have enough fees for the transition + execution_event.and_then_borrowed_validation(|execution_event| { + self.validate_fees_of_event(execution_event, block_info, None, platform_version) + }) } } @@ -181,10 +172,15 @@ mod tests { #[test] #[ignore] fn verify_check_tx_on_data_contract_create() { - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(PlatformConfig::default()) .build_with_mock_rpc(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let state = platform.state.read().unwrap(); let protocol_version = state.current_protocol_version_in_consensus(); let platform_version = PlatformVersion::get(protocol_version).unwrap(); @@ -254,9 +250,15 @@ mod tests { #[test] fn data_contract_create_check_tx() { - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(PlatformConfig::default()) .build_with_mock_rpc(); + + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let state = platform.state.read().unwrap(); let protocol_version = state.current_protocol_version_in_consensus(); let platform_version = PlatformVersion::get(protocol_version).unwrap(); @@ -314,11 +316,16 @@ mod tests { #[test] fn document_update_check_tx() { - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(PlatformConfig::default()) .build_with_mock_rpc(); - let platform_state = platform.state.read().unwrap(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + + let mut platform_state = platform.state.read().unwrap(); let platform_version = platform_state.current_platform_version().unwrap(); let mut signer = SimpleSigner::default(); @@ -456,7 +463,12 @@ mod tests { &transaction, ) .expect("expected to execute identity_create tx"); - assert!(matches!(validation_result, SuccessfulPaidExecution(..))); + + assert!( + matches!(validation_result, SuccessfulPaidExecution(..)), + "{:?}", + validation_result + ); let validation_result = platform .execute_tx( @@ -491,10 +503,15 @@ mod tests { #[test] fn identity_top_up_check_tx() { - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(PlatformConfig::default()) .build_with_mock_rpc(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let platform_state = platform.state.read().unwrap(); let platform_version = platform_state.current_platform_version().unwrap(); @@ -619,10 +636,15 @@ mod tests { #[test] fn identity_cant_double_top_up() { - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(PlatformConfig::default()) .build_with_mock_rpc(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let platform_state = platform.state.read().unwrap(); let platform_version = platform_state.current_platform_version().unwrap(); @@ -758,10 +780,15 @@ mod tests { #[test] fn identity_top_up_with_unknown_identity_doesnt_panic() { - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(PlatformConfig::default()) .build_with_mock_rpc(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let platform_state = platform.state.read().unwrap(); let platform_version = platform_state.current_platform_version().unwrap(); @@ -840,10 +867,15 @@ mod tests { #[test] fn identity_cant_create_with_used_outpoint() { - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(PlatformConfig::default()) .build_with_mock_rpc(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let platform_state = platform.state.read().unwrap(); let platform_version = platform_state.current_platform_version().unwrap(); @@ -1041,10 +1073,15 @@ mod tests { config.abci.keys.dpns_second_public_key = high_public_key.serialize().to_vec(); - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(config) .build_with_mock_rpc(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let platform_state = platform.state.read().unwrap(); let platform_version = platform_state.current_platform_version().unwrap(); @@ -1144,10 +1181,15 @@ mod tests { config.abci.keys.dashpay_second_public_key = high_public_key.serialize().to_vec(); - let platform = TestPlatformBuilder::new() + let mut platform = TestPlatformBuilder::new() .with_config(config) .build_with_mock_rpc(); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + let platform_state = platform.state.read().unwrap(); let platform_version = platform_state.current_platform_version().unwrap(); diff --git a/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs b/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs index 5952a33dae..7a585aa562 100644 --- a/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/engine/initialization/init_chain/v0/mod.rs @@ -8,9 +8,7 @@ use drive::error::Error::GroveDB; use drive::grovedb::Transaction; use crate::platform_types::cleaned_abci_messages::request_init_chain_cleaned_params; -use crate::platform_types::platform_state::v0::{ - PlatformInitializationState, PlatformStateV0Methods, -}; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::system_identity_public_keys::v0::SystemIdentityPublicKeysV0; use dpp::version::PlatformVersion; use tenderdash_abci::proto::abci::{RequestInitChain, ResponseInitChain, ValidatorSetUpdate}; @@ -48,12 +46,19 @@ where let mut state_guard = self.state.write().unwrap(); + let genesis_block_info = BlockInfo { + height: request.initial_height, + core_height, + time_ms: genesis_time, + ..Default::default() + }; + self.update_core_info( None, &mut state_guard, core_height, true, - &BlockInfo::genesis(), + &genesis_block_info, transaction, platform_version, )?; @@ -72,9 +77,7 @@ where state_guard.set_current_validator_set_quorum_hash(quorum_hash); - state_guard.set_initialization_information(Some(PlatformInitializationState { - core_initialization_height: core_height, - })); + state_guard.set_genesis_block_info(Some(genesis_block_info)); if tracing::enabled!(tracing::Level::TRACE) { tracing::trace!( diff --git a/packages/rs-drive-abci/src/execution/platform_events/block_end/update_state_cache/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/block_end/update_state_cache/v0/mod.rs index 102167e456..5803180c65 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/block_end/update_state_cache/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/block_end/update_state_cache/v0/mod.rs @@ -58,7 +58,7 @@ where state_cache.set_last_committed_block_info(Some(extended_block_info)); - state_cache.set_initialization_information(None); + state_cache.set_genesis_block_info(None); //todo: verify this with an update PlatformVersion::set_current(PlatformVersion::get(platform_version.protocol_version)?); diff --git a/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/pool_withdrawals_into_transactions_queue/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/pool_withdrawals_into_transactions_queue/v0/mod.rs index cd46f2114a..139820ec9a 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/pool_withdrawals_into_transactions_queue/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/pool_withdrawals_into_transactions_queue/v0/mod.rs @@ -211,7 +211,7 @@ mod tests { validator_sets: Default::default(), full_masternode_list: Default::default(), hpmn_masternode_list: Default::default(), - initialization_information: None, + genesis_block_info: None, } .into(), proposer_results: None, diff --git a/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/update_broadcasted_withdrawal_transaction_statuses/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/update_broadcasted_withdrawal_transaction_statuses/v0/mod.rs index d728398b1f..b5ebb9f46f 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/update_broadcasted_withdrawal_transaction_statuses/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/identity_credit_withdrawal/update_broadcasted_withdrawal_transaction_statuses/v0/mod.rs @@ -357,7 +357,7 @@ mod tests { validator_sets: Default::default(), full_masternode_list: Default::default(), hpmn_masternode_list: Default::default(), - initialization_information: None, + genesis_block_info: None, } .into(), proposer_results: None, diff --git a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/execute_event/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/execute_event/v0/mod.rs index 0617061b46..d0f889d64a 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/execute_event/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/execute_event/v0/mod.rs @@ -47,12 +47,9 @@ where ) -> Result { //todo: we need to split out errors // between failed execution and internal errors - let validation_result = self.validate_fees_of_event_v0( - &event, - block_info, - Some(transaction), - platform_version, - )?; + let validation_result = + self.validate_fees_of_event(&event, block_info, Some(transaction), platform_version)?; + match event { ExecutionEvent::PaidFromAssetLockDriveEvent { identity, diff --git a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs index bff46e040d..d4ce2ef1c1 100644 --- a/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs @@ -57,6 +57,7 @@ where state: block_platform_state, config: &self.config, core_rpc: &self.core_rpc, + block_info, }; let exec_tx_results = state_transitions .into_iter() diff --git a/packages/rs-drive-abci/src/execution/types/execution_event/mod.rs b/packages/rs-drive-abci/src/execution/types/execution_event/mod.rs index d6574c6906..9e799bd064 100644 --- a/packages/rs-drive-abci/src/execution/types/execution_event/mod.rs +++ b/packages/rs-drive-abci/src/execution/types/execution_event/mod.rs @@ -85,12 +85,11 @@ impl<'a> ExecutionEvent<'a> { match &action { StateTransitionAction::IdentityCreateAction(identity_create_action) => { let identity = identity_create_action.into(); - let added_balance = identity_create_action.initial_balance_amount(); let operations = action.into_high_level_drive_operations(epoch, platform_version)?; Ok(PaidFromAssetLockDriveEvent { identity, - added_balance, + added_balance: 0, operations, }) } diff --git a/packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/mod.rs b/packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/mod.rs deleted file mode 100644 index 7820d2a4e9..0000000000 --- a/packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -/// Version 0 -pub mod v0; diff --git a/packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/v0/mod.rs deleted file mode 100644 index 7599f5c3a0..0000000000 --- a/packages/rs-drive-abci/src/execution/validation/asset_lock/fetch_tx_out/v0/mod.rs +++ /dev/null @@ -1,156 +0,0 @@ -use crate::error::execution::ExecutionError; -use crate::error::Error; -use crate::rpc::core::CoreRPCLike; -use dpp::consensus::basic::identity::{ - IdentityAssetLockTransactionIsNotFoundError, IdentityAssetLockTransactionOutputNotFoundError, - InvalidAssetLockProofCoreChainHeightError, - InvalidIdentityAssetLockProofChainLockValidationError, -}; -use dpp::consensus::basic::BasicError; -use dpp::consensus::ConsensusError; -use dpp::dashcore::hashes::Hash; -use dpp::dashcore::{OutPoint, TxOut}; -use dpp::identity::state_transition::asset_lock_proof::AssetLockProof; -use dpp::validation::ValidationResult; - -/// A trait for fetching asset lock transaction output from a Core RPC-like instance. -pub trait FetchAssetLockProofTxOutV0 { - /// Synchronously fetches the asset lock transaction output from the core - /// based on either an `Instant` or a `Chain` asset lock proof. - /// - /// # Type Parameters - /// - /// * `C`: CoreRPCLike - a type that implements the CoreRPCLike trait. - /// - /// # Parameters - /// - /// * `core`: &C - a reference to a CoreRPC-like instance. - /// - /// # Returns - /// - /// * `Result, Error>`: - /// - Ok(ValidationResult::WithData) if the transaction output is found, - /// - Ok(ValidationResult::WithError) for any errors encountered during the process, - /// - Err(Error) if there's an execution error. - fn fetch_asset_lock_transaction_output_sync_v0( - &self, - core: &C, - ) -> Result, Error>; -} - -impl FetchAssetLockProofTxOutV0 for AssetLockProof { - /// This fetches the asset lock transaction output from core - fn fetch_asset_lock_transaction_output_sync_v0( - &self, - core: &C, - ) -> Result, Error> { - match self { - AssetLockProof::Instant(asset_lock_proof) => { - if let Some(output) = asset_lock_proof.output() { - Ok(ValidationResult::new_with_data(output.clone())) - } else { - Ok(ValidationResult::new_with_error( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new( - asset_lock_proof.output_index(), - ), - ) - .into(), - )) - } - } - AssetLockProof::Chain(asset_lock_proof) => { - let out_point = OutPoint::from(asset_lock_proof.out_point.to_buffer()); - - let output_index = out_point.vout as usize; - let transaction_hash = out_point.txid; - - let transaction_data = match core.get_transaction_extended_info(&transaction_hash) { - Ok(transaction) => transaction, - Err(_e) => { - //todo: deal with IO errors - return Ok(ValidationResult::new_with_error( - BasicError::IdentityAssetLockTransactionIsNotFoundError( - IdentityAssetLockTransactionIsNotFoundError::new( - transaction_hash.to_byte_array(), - ), - ) - .into(), - )); - } - }; - - if !transaction_data.chainlock { - let best_chain_lock = core.get_best_chain_lock()?; //todo: this could be a problem - if asset_lock_proof.core_chain_locked_height > best_chain_lock.core_block_height - { - // we received a chain lock height that is too new - //todo: there is a race condition here, the chain lock proof should contain more information - // so that in the event that core responds that the transaction is not chain locked we - // can verify the chain lock proof itself. - return Ok(ValidationResult::new_with_error( - BasicError::InvalidAssetLockProofCoreChainHeightError( - InvalidAssetLockProofCoreChainHeightError::new( - asset_lock_proof.core_chain_locked_height, - best_chain_lock.core_block_height, - ), - ) - .into(), - )); - } else { - // it's possible that in the meantime the transaction was locked, lets try again - let transaction_data = - match core.get_transaction_extended_info(&transaction_hash) { - Ok(transaction) => transaction, - Err(_e) => { - return Ok(ValidationResult::new_with_error( - BasicError::IdentityAssetLockTransactionIsNotFoundError( - IdentityAssetLockTransactionIsNotFoundError::new( - transaction_hash.to_byte_array(), - ), - ) - .into(), - )) - } - }; - - if !transaction_data.chainlock { - // Very weird - // We are getting back that the transaction is not locked, but the chain - // lock proof says that it should be, most likely the client is lying. - // it would seem that the chain lock is malformed or we are under attack - // todo: log this event - // todo: ban the ip sending this request - return Ok(ValidationResult::new_with_error( - BasicError::InvalidIdentityAssetLockProofChainLockValidationError( - InvalidIdentityAssetLockProofChainLockValidationError::new( - transaction_hash, - asset_lock_proof.core_chain_locked_height, - ), - ) - .into(), - )); - } - } - } - - let transaction = transaction_data.transaction().map_err(|e| { - Error::Execution(ExecutionError::DashCoreConsensusEncodeError(e)) - })?; - if let Some(tx_out) = transaction.output.get(output_index) { - Ok(ValidationResult::new_with_data(tx_out.clone())) - } else { - // Also seems to be a malformed asset lock - // todo: log this event - // todo: ban the ip sending this request - Ok(ValidationResult::new_with_error( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new(output_index), - ) - .into(), - )) - } - } - } - } -} diff --git a/packages/rs-drive-abci/src/execution/validation/asset_lock/mod.rs b/packages/rs-drive-abci/src/execution/validation/asset_lock/mod.rs deleted file mode 100644 index 92aff2f16c..0000000000 --- a/packages/rs-drive-abci/src/execution/validation/asset_lock/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -/// A module for fetching transaction outputs -pub mod fetch_tx_out; diff --git a/packages/rs-drive-abci/src/execution/validation/data_trigger/dashpay_data_triggers/mod.rs b/packages/rs-drive-abci/src/execution/validation/data_trigger/dashpay_data_triggers/mod.rs deleted file mode 100644 index 4451d2cfc7..0000000000 --- a/packages/rs-drive-abci/src/execution/validation/data_trigger/dashpay_data_triggers/mod.rs +++ /dev/null @@ -1,361 +0,0 @@ -use crate::error::execution::ExecutionError; -use crate::error::Error; -use crate::execution::validation::data_trigger::dashpay_data_triggers::property_names::CORE_HEIGHT_CREATED_AT; -use crate::execution::validation::data_trigger::{ - DataTriggerExecutionContext, DataTriggerExecutionResult, -}; -use dpp::consensus::state::data_trigger::data_trigger_error::DataTriggerActionError; -use dpp::document::document_transition::DocumentTransitionAction; -use dpp::platform_value::btreemap_extensions::BTreeValueMapHelper; -use dpp::platform_value::Identifier; -use dpp::{get_from_transition_action, ProtocolError}; - -const BLOCKS_SIZE_WINDOW: u32 = 8; -mod property_names { - pub const TO_USER_ID: &str = "toUserId"; - pub const CORE_HEIGHT_CREATED_AT: &str = "coreHeightCreatedAt"; - pub const CORE_CHAIN_LOCKED_HEIGHT: &str = "coreChainLockedHeight"; -} - -/// Creates a data trigger for handling contact request documents. -/// -/// The trigger is executed whenever a new contact request document is created on the blockchain. -/// It sends a notification to the user specified in the document, notifying them that someone -/// has requested to add them as a contact. -/// -/// # Arguments -/// -/// * `document_transition` - A reference to the document transition that triggered the data trigger. -/// * `context` - A reference to the data trigger execution context. -/// * `_` - An unused parameter for the owner ID (which is not needed for this trigger). -/// -/// # Returns -/// -/// A `DataTriggerExecutionResult` indicating the success or failure of the trigger execution. -pub fn create_contact_request_data_trigger( - document_transition: &DocumentTransitionAction, - context: &DataTriggerExecutionContext<'_>, - _: Option<&Identifier>, -) -> Result { - let mut result = DataTriggerExecutionResult::default(); - let is_dry_run = context.state_transition_execution_context.is_dry_run(); - let owner_id = context.owner_id; - - let document_create_transition = match document_transition { - DocumentTransitionAction::CreateAction(d) => d, - _ => { - return Err(Error::Execution(ExecutionError::DataTriggerExecutionError( - format!( - "the Document Transition {} isn't 'CREATE", - get_from_transition_action!(document_transition, id) - ), - ))) - } - }; - let data = &document_create_transition.data; - - let maybe_core_height_created_at: Option = data - .get_optional_integer(CORE_HEIGHT_CREATED_AT) - .map_err(ProtocolError::ValueError)?; - let to_user_id = data - .get_identifier(property_names::TO_USER_ID) - .map_err(ProtocolError::ValueError)?; - - if !is_dry_run { - if owner_id == &to_user_id { - let err = DataTriggerActionError::DataTriggerConditionError { - data_contract_id: context.data_contract.id, - document_transition_id: document_create_transition.base.id, - message: format!("Identity {to_user_id} must not be equal to owner id"), - document_transition: Some(DocumentTransitionAction::CreateAction( - document_create_transition.clone(), - )), - owner_id: Some(*context.owner_id), - }; - result.add_error(err); - return Ok(result); - } - - if let Some(core_height_created_at) = maybe_core_height_created_at { - let core_chain_locked_height = context.platform.state.core_height(); - - let height_window_start = core_chain_locked_height.saturating_sub(BLOCKS_SIZE_WINDOW); - let height_window_end = core_chain_locked_height.saturating_add(BLOCKS_SIZE_WINDOW); - - if core_height_created_at < height_window_start - || core_height_created_at > height_window_end - { - let err = DataTriggerActionError::DataTriggerConditionError { - data_contract_id: context.data_contract.id, - document_transition_id: document_create_transition.base.id, - message: format!( - "Core height {} is out of block height window from {} to {}", - core_height_created_at, height_window_start, height_window_end - ), - document_transition: Some(DocumentTransitionAction::CreateAction( - document_create_transition.clone(), - )), - owner_id: Some(*context.owner_id), - }; - result.add_error(err); - return Ok(result); - } - } - } - - // toUserId identity exits - let identity = context - .platform - .drive - .fetch_identity_balance(to_user_id.to_buffer(), context.transaction)?; - - if !is_dry_run && identity.is_none() { - let err = DataTriggerActionError::DataTriggerConditionError { - data_contract_id: context.data_contract.id, - document_transition_id: document_create_transition.base.id, - message: format!("Identity {to_user_id} doesn't exist"), - document_transition: Some(DocumentTransitionAction::CreateAction( - document_create_transition.clone(), - )), - owner_id: Some(*context.owner_id), - }; - result.add_error(err); - return Ok(result); - } - - Ok(result) -} - -#[cfg(test)] -mod test { - use crate::execution::validation::data_trigger::dashpay_data_triggers::create_contact_request_data_trigger; - use crate::execution::validation::data_trigger::DataTriggerExecutionContext; - use crate::platform_types::platform::PlatformStateRef; - use crate::test::helpers::setup::TestPlatformBuilder; - use dpp::block::block_info::{BlockInfo, ExtendedBlockInfo}; - use dpp::document::document_transition::{Action, DocumentCreateTransitionAction}; - use dpp::errors::consensus::state::data_trigger::data_trigger_error::DataTriggerActionError; - use dpp::platform_value; - use dpp::platform_value::btreemap_extensions::BTreeValueMapHelper; - use dpp::platform_value::platform_value; - use dpp::state_transition::state_transition_execution_context::StateTransitionExecutionContext; - use dpp::tests::fixtures::{ - get_contact_request_document_fixture, get_dashpay_contract_fixture, - get_document_transitions_fixture, identity_fixture, - }; - - #[test] - fn should_successfully_execute_on_dry_run() { - let platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_initial_state_structure(); - let state_read_guard = platform.state.read().unwrap(); - let platform_ref = PlatformStateRef { - drive: &platform.drive, - state: &state_read_guard, - config: &platform.config, - }; - - let mut contact_request_document = get_contact_request_document_fixture(None, None); - contact_request_document - .set( - super::property_names::CORE_HEIGHT_CREATED_AT, - platform_value!(10u32), - ) - .expect("expected to set core height created at"); - let owner_id = &contact_request_document.owner_id(); - - let document_transitions = - get_document_transitions_fixture([(Action::Create, vec![contact_request_document])]); - let document_transition = document_transitions - .get(0) - .expect("document transition should be present"); - - let document_create_transition = document_transition - .as_transition_create() - .expect("expected a document create transition"); - - let data_contract = get_dashpay_contract_fixture(None); - - let transition_execution_context = StateTransitionExecutionContext::default(); - - let data_trigger_context = DataTriggerExecutionContext { - platform: &platform_ref, - data_contract: &data_contract.data_contract, - owner_id, - state_transition_execution_context: &transition_execution_context, - transaction: None, - }; - - transition_execution_context.enable_dry_run(); - - let result = create_contact_request_data_trigger( - &DocumentCreateTransitionAction::from(document_create_transition).into(), - &data_trigger_context, - None, - ) - .expect("the execution result should be returned"); - - assert!(result.is_valid()); - } - - #[test] - fn should_fail_if_owner_id_equals_to_user_id() { - let platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_initial_state_structure(); - let mut state_write_guard = platform.state.write().unwrap(); - - state_write_guard.last_committed_block_info = Some(ExtendedBlockInfo { - basic_info: BlockInfo { - time_ms: 500000, - height: 100, - core_height: 42, - epoch: Default::default(), - }, - app_hash: platform.drive.grove.root_hash(None).unwrap().unwrap(), - quorum_hash: [0u8; 32], - block_id_hash: [0u8; 32], - signature: [0u8; 96], - round: 0, - }); - let platform_ref = PlatformStateRef { - drive: &platform.drive, - state: &state_write_guard, - config: &platform.config, - }; - - let mut contact_request_document = get_contact_request_document_fixture(None, None); - let owner_id = contact_request_document.owner_id(); - contact_request_document - .set("toUserId", platform_value::to_value(owner_id).unwrap()) - .expect("expected to set toUserId"); - - let data_contract = get_dashpay_contract_fixture(None); - let document_transitions = - get_document_transitions_fixture([(Action::Create, vec![contact_request_document])]); - let document_transition = document_transitions - .get(0) - .expect("document transition should be present"); - - let document_create_transition = document_transition - .as_transition_create() - .expect("expected a document create transition"); - - let transition_execution_context = StateTransitionExecutionContext::default(); - let identity_fixture = identity_fixture(); - - platform - .drive - .add_new_identity(identity_fixture, &BlockInfo::default(), true, None) - .expect("expected to insert identity"); - - let data_trigger_context = DataTriggerExecutionContext { - platform: &platform_ref, - data_contract: &data_contract.data_contract, - owner_id: &owner_id, - state_transition_execution_context: &transition_execution_context, - transaction: None, - }; - - let dashpay_identity_id = data_trigger_context.owner_id.to_owned(); - - let result = create_contact_request_data_trigger( - &DocumentCreateTransitionAction::from(document_create_transition).into(), - &data_trigger_context, - Some(&dashpay_identity_id), - ) - .expect("data trigger result should be returned"); - - assert!(!result.is_valid()); - - assert!(matches!( - &result.errors.first().unwrap(), - &DataTriggerActionError::DataTriggerConditionError { message, .. } if { - message == &format!("Identity {owner_id} must not be equal to owner id") - - - } - )); - } - - #[test] - fn should_fail_if_id_not_exists() { - let platform = TestPlatformBuilder::new() - .build_with_mock_rpc() - .set_initial_state_structure(); - let mut state_write_guard = platform.state.write().unwrap(); - - state_write_guard.last_committed_block_info = Some(ExtendedBlockInfo { - basic_info: BlockInfo { - time_ms: 500000, - height: 100, - core_height: 42, - epoch: Default::default(), - }, - app_hash: platform.drive.grove.root_hash(None).unwrap().unwrap(), - quorum_hash: [0u8; 32], - block_id_hash: [0u8; 32], - signature: [0u8; 96], - round: 0, - }); - - let platform_ref = PlatformStateRef { - drive: &platform.drive, - state: &state_write_guard, - config: &platform.config, - }; - - let contact_request_document = get_contact_request_document_fixture(None, None); - let data_contract = get_dashpay_contract_fixture(None); - let owner_id = contact_request_document.owner_id(); - let contract_request_to_user_id = contact_request_document - .document - .properties - .get_identifier("toUserId") - .expect("expected to get toUserId"); - - let document_transitions = - get_document_transitions_fixture([(Action::Create, vec![contact_request_document])]); - let document_transition = document_transitions - .get(0) - .expect("document transition should be present"); - - let document_create_transition = document_transition - .as_transition_create() - .expect("expected a document create transition"); - - let transition_execution_context = StateTransitionExecutionContext::default(); - - let data_trigger_context = DataTriggerExecutionContext { - platform: &platform_ref, - data_contract: &data_contract.data_contract, - owner_id: &owner_id, - state_transition_execution_context: &transition_execution_context, - transaction: None, - }; - - let dashpay_identity_id = data_trigger_context.owner_id.to_owned(); - - let result = create_contact_request_data_trigger( - &DocumentCreateTransitionAction::from(document_create_transition).into(), - &data_trigger_context, - Some(&dashpay_identity_id), - ) - .expect("data trigger result should be returned"); - - assert!(!result.is_valid()); - let data_trigger_error = &result.errors[0]; - - assert!(matches!( - data_trigger_error, - DataTriggerActionError::DataTriggerConditionError { message, .. } if { - message == &format!("Identity {contract_request_to_user_id} doesn't exist") - - - } - )); - } - - // TODO! implement remaining tests -} diff --git a/packages/rs-drive-abci/src/execution/validation/mod.rs b/packages/rs-drive-abci/src/execution/validation/mod.rs index 8b7f6d356e..01974c99ef 100644 --- a/packages/rs-drive-abci/src/execution/validation/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/mod.rs @@ -1,4 +1,2 @@ -/// A module for validating asset locks -pub mod asset_lock; /// The `state_transition` module pub mod state_transition; diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/mod.rs new file mode 100644 index 0000000000..19934543d7 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/mod.rs @@ -0,0 +1,5 @@ +/// Asset Lock Proof validation logic +pub mod proof; + +/// A module for fetching transaction outputs +pub mod transaction; diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/chain/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/chain/mod.rs new file mode 100644 index 0000000000..bcca8030c2 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/chain/mod.rs @@ -0,0 +1,58 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::execution::validation::state_transition::common::asset_lock::proof::AssetLockProofStateValidation; +use crate::platform_types::platform::PlatformRef; +use crate::rpc::core::CoreRPCLike; +use dpp::consensus::basic::identity::{ + IdentityAssetLockTransactionOutPointAlreadyExistsError, + InvalidAssetLockProofCoreChainHeightError, +}; +use dpp::identity::state_transition::asset_lock_proof::chain::ChainAssetLockProof; +use dpp::platform_value::Bytes36; +use dpp::validation::SimpleConsensusValidationResult; +use dpp::version::PlatformVersion; +use drive::grovedb::TransactionArg; + +// TODO: Versioning +impl AssetLockProofStateValidation for ChainAssetLockProof { + fn validate_state( + &self, + platform_ref: &PlatformRef, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result { + let mut result = SimpleConsensusValidationResult::default(); + + if platform_ref.block_info.core_height < self.core_chain_locked_height { + result.add_error(InvalidAssetLockProofCoreChainHeightError::new( + self.core_chain_locked_height, + platform_ref.block_info.core_height, + )); + + return Ok(result); + } + + // Make sure that asset lock isn't spent yet + + let outpoint_bytes = self.out_point.try_into().map_err(|e| { + Error::Execution(ExecutionError::Conversion(String::from( + "can't convert output to bytes", + ))) + })?; + + let is_already_spent = platform_ref.drive.has_asset_lock_outpoint( + &Bytes36::new(outpoint_bytes), + transaction, + &platform_version.drive, + )?; + + if is_already_spent { + result.add_error(IdentityAssetLockTransactionOutPointAlreadyExistsError::new( + self.out_point.txid, + self.out_point.vout as usize, + )) + } + + Ok(result) + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/instant/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/instant/mod.rs new file mode 100644 index 0000000000..4f193c2c33 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/instant/mod.rs @@ -0,0 +1,68 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::execution::validation::state_transition::common::asset_lock::proof::AssetLockProofStateValidation; +use crate::platform_types::platform::PlatformRef; +use crate::rpc::core::CoreRPCLike; +use crate::rpc::signature::CoreSignatureVerification; +use dpp::consensus::basic::identity::{ + IdentityAssetLockTransactionOutPointAlreadyExistsError, + InvalidInstantAssetLockProofSignatureError, +}; +use dpp::identity::state_transition::asset_lock_proof::InstantAssetLockProof; +use dpp::platform_value::Bytes36; +use dpp::validation::SimpleConsensusValidationResult; +use dpp::version::PlatformVersion; +use drive::grovedb::TransactionArg; + +// TODO: Versioning +impl AssetLockProofStateValidation for InstantAssetLockProof { + fn validate_state( + &self, + platform_ref: &PlatformRef, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result { + let mut result = SimpleConsensusValidationResult::default(); + + // Make sure that asset lock isn't spent yet + + let Some(asset_lock_outpoint) = self.out_point() else { + return Err(Error::Execution(ExecutionError::CorruptedCodeExecution( + "asset lock outpoint must be present", + ))); + }; + + let outpoint_bytes = asset_lock_outpoint.try_into().map_err(|e| { + Error::Execution(ExecutionError::Conversion(format!( + "can't convert output to bytes: {e}", + ))) + })?; + + let is_already_spent = platform_ref.drive.has_asset_lock_outpoint( + &Bytes36::new(outpoint_bytes), + transaction, + &platform_version.drive, + )?; + + if is_already_spent { + result.add_error(IdentityAssetLockTransactionOutPointAlreadyExistsError::new( + asset_lock_outpoint.txid, + asset_lock_outpoint.vout as usize, + )) + } + + // Verify instant lock signature with Core + + let is_instant_lock_signature_valid = self + .instant_lock() + .verify_signature(platform_ref.core_rpc, platform_ref.block_info.core_height)?; + + if !is_instant_lock_signature_valid { + result.add_error(InvalidInstantAssetLockProofSignatureError::new()); + + return Ok(result); + } + + Ok(result) + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/mod.rs new file mode 100644 index 0000000000..d498e0f5de --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/proof/mod.rs @@ -0,0 +1,52 @@ +mod chain; +mod instant; + +use crate::error::Error; +use crate::platform_types::platform::PlatformRef; +use crate::rpc::core::CoreRPCLike; +use dpp::prelude::AssetLockProof; +use dpp::validation::SimpleConsensusValidationResult; +use dpp::version::PlatformVersion; +use drive::grovedb::TransactionArg; + +/// A trait for validating state transitions within a blockchain. +pub trait AssetLockProofStateValidation { + /// Validates the state transition by analyzing the changes in the platform state after applying the transaction. + /// + /// # Arguments + /// + /// * `platform` - A reference to the platform containing the state data. + /// * `tx` - The transaction argument to be applied. + /// + /// # Type Parameters + /// + /// * `C: CoreRPCLike` - A type constraint indicating that C should implement `CoreRPCLike`. + /// + /// # Returns + /// + /// * `Result` - A result with either a SimpleConsensusValidationResult or an Error. + fn validate_state( + &self, + platform_ref: &PlatformRef, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result; +} + +impl AssetLockProofStateValidation for AssetLockProof { + fn validate_state( + &self, + platform_ref: &PlatformRef, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result { + match self { + AssetLockProof::Instant(proof) => { + proof.validate_state(platform_ref, transaction, platform_version) + } + AssetLockProof::Chain(proof) => { + proof.validate_state(platform_ref, transaction, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/mod.rs new file mode 100644 index 0000000000..13887d434e --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/mod.rs @@ -0,0 +1,35 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::rpc::core::CoreRPCLike; +use dpp::dashcore::TxOut; +use dpp::prelude::{AssetLockProof, ConsensusValidationResult}; +use dpp::version::PlatformVersion; + +mod v0; + +/// This fetches the asset lock transaction output from core +pub fn fetch_asset_lock_transaction_output_sync( + core_rpc: &C, + asset_lock_proof: &AssetLockProof, + platform_version: &PlatformVersion, +) -> Result, Error> { + match platform_version + .drive_abci + .validation_and_processing + .state_transitions + .common_validation_methods + .asset_locks + .fetch_asset_lock_transaction_output_sync + { + 0 => v0::fetch_asset_lock_transaction_output_sync_v0( + core_rpc, + asset_lock_proof, + platform_version, + ), + version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { + method: "fetch_asset_lock_transaction_output_sync".to_string(), + known_versions: vec![0], + received: version, + })), + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs new file mode 100644 index 0000000000..d4e70a394e --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs @@ -0,0 +1,127 @@ +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::rpc::core::CoreRPCLike; +use dpp::consensus::basic::identity::{ + IdentityAssetLockTransactionIsNotFoundError, IdentityAssetLockTransactionOutputNotFoundError, + InvalidAssetLockProofTransactionHeightError, +}; +use dpp::dashcore::secp256k1::ThirtyTwoByteHash; +use dpp::dashcore::transaction::special_transaction::TransactionPayload; +use dpp::dashcore::TxOut; +use dpp::identity::state_transition::asset_lock_proof::validate_asset_lock_transaction_structure::validate_asset_lock_transaction_structure; +use dpp::prelude::{AssetLockProof, ConsensusValidationResult}; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; + +/// This fetches the asset lock transaction output from core +pub fn fetch_asset_lock_transaction_output_sync_v0( + core_rpc: &C, + asset_lock_proof: &AssetLockProof, + platform_version: &PlatformVersion, +) -> Result, Error> { + match asset_lock_proof { + AssetLockProof::Instant(proof) => { + if let Some(output) = proof.output() { + Ok(ValidationResult::new_with_data(output.clone())) + } else { + Ok(ValidationResult::new_with_error( + IdentityAssetLockTransactionOutputNotFoundError::new( + proof.output_index() as usize + ) + .into(), + )) + } + } + AssetLockProof::Chain(proof) => { + let output_index = proof.out_point.vout; + let transaction_hash = proof.out_point.txid; + + // Fetch transaction + + let maybe_transaction_info = core_rpc + .get_optional_transaction_extended_info(&transaction_hash) + .map_err(|e| { + Error::Execution(ExecutionError::DashCoreBadResponseError(format!( + "can't fetch asset transaction for chain asset lock proof: {e}", + ))) + })?; + + let Some(transaction_info) = maybe_transaction_info else { + // Transaction hash bytes needs to be reversed to match actual transaction hash + let mut hash = transaction_hash.as_raw_hash().into_32(); + hash.reverse(); + + return Ok(ValidationResult::new_with_error( + IdentityAssetLockTransactionIsNotFoundError::new(hash).into(), + )); + }; + + // Make sure transaction is mined on the chain locked block or before + + let Some(transaction_height) = transaction_info.height else { + return Ok(ConsensusValidationResult::new_with_error( + InvalidAssetLockProofTransactionHeightError::new( + proof.core_chain_locked_height, + None, + ) + .into(), + )); + }; + + let is_transaction_not_mined = transaction_height == -1; + let transaction_height = transaction_height as u32; + + // Return an error if transaction is not mined + // or if it is mined after the chain locked height + if is_transaction_not_mined || transaction_height > proof.core_chain_locked_height { + let reported_height = if is_transaction_not_mined { + None + } else { + Some(transaction_height) + }; + + return Ok(ConsensusValidationResult::new_with_error( + InvalidAssetLockProofTransactionHeightError::new( + proof.core_chain_locked_height, + reported_height, + ) + .into(), + )); + } + + let transaction = transaction_info + .transaction() + .map_err(|e| Error::Execution(ExecutionError::DashCoreConsensusEncodeError(e)))?; + + // Validate asset lock transaction + + let validate_asset_lock_transaction_result = validate_asset_lock_transaction_structure( + &transaction, + output_index, + platform_version, + )?; + + if !validate_asset_lock_transaction_result.is_valid() { + return Ok(ConsensusValidationResult::new_with_errors( + validate_asset_lock_transaction_result.errors, + )); + } + + // Extract outpoint from the payload + if let Some(TransactionPayload::AssetLockPayloadType(mut payload)) = + transaction.special_transaction_payload + { + // We are dealing with old Rust edition so we can't use optional remove + if payload.credit_outputs.get(output_index as usize).is_some() { + let output = payload.credit_outputs.remove(output_index as usize); + + return Ok(ValidationResult::new_with_data(output)); + } + } + + Err(Error::Execution(ExecutionError::CorruptedCodeExecution( + "transaction should have outpoint", + ))) + } + } +} diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/mod.rs new file mode 100644 index 0000000000..6cc49e2779 --- /dev/null +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/mod.rs @@ -0,0 +1 @@ +pub mod fetch_asset_lock_transaction_output_sync; diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/common/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/common/mod.rs index a3e4bbd3f6..c27af2cf33 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/common/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/common/mod.rs @@ -1,3 +1,5 @@ +/// A module for validating asset locks +pub mod asset_lock; pub mod validate_identity_public_key_contract_bounds; pub mod validate_identity_public_key_ids_dont_exist_in_state; pub mod validate_identity_public_key_ids_exist_in_state; diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs index 35ff54208b..4f9f4f7d35 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/processor/v0/mod.rs @@ -295,12 +295,16 @@ impl StateTransitionSignatureValidationV0 for StateTransition { Some(0) => { let mut validation_result = ConsensusValidationResult::>::default(); + let signable_bytes: Vec = self.signable_bytes()?; + let result = st.validate_identity_create_state_transition_signatures_v0( signable_bytes, )?; + validation_result.merge(result); validation_result.set_data(None); + Ok(validation_result) } None => Err(Error::Execution(ExecutionError::VersionNotActive { diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs index dd2c733bf1..8e82317806 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/data_contract_update/mod.rs @@ -236,6 +236,7 @@ mod tests { state: &platform.state.read().unwrap(), config: &platform.config, core_rpc: &platform.core_rpc, + block_info: &BlockInfo::default(), }; let result = DataContractUpdateTransition::V0(state_transition) @@ -307,6 +308,7 @@ mod tests { state: &platform.state.read().unwrap(), config: &platform.config, core_rpc: &platform.core_rpc, + block_info: &BlockInfo::default(), }; let result = DataContractUpdateTransition::V0(state_transition) @@ -447,6 +449,7 @@ mod tests { state: &platform.state.read().unwrap(), config: &platform.config, core_rpc: &platform.core_rpc, + block_info: &BlockInfo::default(), }; let result = state_transition diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/identity_and_signatures/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/identity_and_signatures/v0/mod.rs index 2af195784c..4ab68979ba 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/identity_and_signatures/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/identity_and_signatures/v0/mod.rs @@ -3,6 +3,7 @@ use dpp::consensus::basic::identity::IdentityAssetLockTransactionOutputNotFoundE use dpp::consensus::basic::invalid_identifier_error::InvalidIdentifierError; use dpp::consensus::basic::BasicError; use dpp::consensus::ConsensusError; +use dpp::identity::state_transition::AssetLockProved; use dpp::prelude::ConsensusValidationResult; use dpp::serialization::PlatformMessageSignable; @@ -35,6 +36,10 @@ impl IdentityCreateStateTransitionIdentityAndSignaturesValidationV0 for Identity } } + if !validation_result.is_valid() { + return Ok(validation_result); + } + // We should validate that the identity id is created from the asset lock proof let identifier_from_outpoint = match self.asset_lock_proof().create_identifier() { @@ -44,7 +49,7 @@ impl IdentityCreateStateTransitionIdentityAndSignaturesValidationV0 for Identity ConsensusError::BasicError( BasicError::IdentityAssetLockTransactionOutputNotFoundError( IdentityAssetLockTransactionOutputNotFoundError::new( - self.asset_lock_proof().instant_lock_output_index().unwrap(), + self.asset_lock_proof().output_index() as usize, ), ), ), diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/state/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/state/v0/mod.rs index 4abeb79d1e..d4ce966185 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/state/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/state/v0/mod.rs @@ -1,22 +1,18 @@ use crate::error::Error; use crate::platform_types::platform::PlatformRef; use crate::rpc::core::CoreRPCLike; - -use dpp::consensus::basic::identity::{ - IdentityAssetLockTransactionOutPointAlreadyExistsError, - IdentityAssetLockTransactionOutputNotFoundError, -}; -use dpp::consensus::basic::BasicError; +use dpp::consensus::signature::{BasicECDSAError, SignatureError}; use dpp::consensus::state::identity::IdentityAlreadyExistsError; +use dpp::dashcore::signer; +use dpp::dashcore::signer::double_sha; -use dpp::consensus::ConsensusError; -use dpp::dashcore::OutPoint; - -use dpp::platform_value::Bytes36; +use dpp::identity::state_transition::AssetLockProved; use dpp::prelude::ConsensusValidationResult; +use dpp::serialization::Signable; use dpp::state_transition::identity_create_transition::accessors::IdentityCreateTransitionAccessorsV0; use dpp::state_transition::identity_create_transition::IdentityCreateTransition; +use dpp::state_transition::{StateTransition, StateTransitionLike}; use dpp::version::PlatformVersion; use drive::state_transition_action::identity::identity_create::IdentityCreateTransitionAction; @@ -24,8 +20,10 @@ use drive::state_transition_action::StateTransitionAction; use drive::grovedb::TransactionArg; use dpp::version::DefaultForPlatformVersion; +use crate::error::execution::ExecutionError; use crate::execution::types::state_transition_execution_context::StateTransitionExecutionContext; -use crate::execution::validation::asset_lock::fetch_tx_out::v0::FetchAssetLockProofTxOutV0; +use crate::execution::validation::state_transition::common::asset_lock::proof::AssetLockProofStateValidation; +use crate::execution::validation::state_transition::common::asset_lock::transaction::fetch_asset_lock_transaction_output_sync::fetch_asset_lock_transaction_output_sync; use crate::execution::validation::state_transition::common::validate_unique_identity_public_key_hashes_in_state::validate_unique_identity_public_key_hashes_in_state; pub(in crate::execution::validation::state_transition::state_transitions::identity_create) trait IdentityCreateStateTransitionStateValidationV0 @@ -66,37 +64,16 @@ impl IdentityCreateStateTransitionStateValidationV0 for IdentityCreateTransition IdentityAlreadyExistsError::new(identity_id.to_owned()).into(), )); } - let outpoint = match self.asset_lock_proof().out_point() { - None => { - return Ok(ConsensusValidationResult::new_with_error( - ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new( - self.asset_lock_proof().instant_lock_output_index().unwrap(), - ), - ), - ), - )); - } - Some(outpoint) => outpoint, - }; - // Now we should check that we aren't using an asset lock again - let asset_lock_already_found = - drive.has_asset_lock_outpoint(&Bytes36(outpoint), tx, &platform_version.drive)?; + // Validate asset lock proof state + validation_result.merge(self.asset_lock_proof().validate_state( + platform, + tx, + platform_version, + )?); - if asset_lock_already_found { - let outpoint = OutPoint::from(outpoint); - return Ok(ConsensusValidationResult::new_with_error( - ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutPointAlreadyExistsError( - IdentityAssetLockTransactionOutPointAlreadyExistsError::new( - outpoint.txid, - outpoint.vout as usize, - ), - ), - ), - )); + if !validation_result.is_valid() { + return Ok(validation_result); } // Now we should check the state of added keys to make sure there aren't any that already exist @@ -121,13 +98,16 @@ impl IdentityCreateStateTransitionStateValidationV0 for IdentityCreateTransition fn transform_into_action_v0( &self, platform: &PlatformRef, - _platform_version: &PlatformVersion, + platform_version: &PlatformVersion, ) -> Result, Error> { let mut validation_result = ConsensusValidationResult::::default(); - let tx_out_validation = self - .asset_lock_proof() - .fetch_asset_lock_transaction_output_sync_v0(platform.core_rpc)?; + let tx_out_validation = fetch_asset_lock_transaction_output_sync( + platform.core_rpc, + self.asset_lock_proof(), + platform_version, + )?; + if !tx_out_validation.is_valid() { return Ok(ConsensusValidationResult::new_with_errors( tx_out_validation.errors, @@ -135,6 +115,30 @@ impl IdentityCreateStateTransitionStateValidationV0 for IdentityCreateTransition } let tx_out = tx_out_validation.into_data()?; + + // Verify one time signature + + let singable_bytes = StateTransition::IdentityCreate(self.clone()).signable_bytes()?; + + let public_key_hash = tx_out + .script_pubkey + .p2pkh_public_key_hash_bytes() + .ok_or_else(|| { + Error::Execution(ExecutionError::CorruptedCodeExecution( + "output must be a valid p2pkh already", + )) + })?; + + if let Err(e) = signer::verify_hash_signature( + &double_sha(singable_bytes), + self.signature().as_slice(), + public_key_hash, + ) { + return Ok(ConsensusValidationResult::new_with_error( + SignatureError::BasicECDSAError(BasicECDSAError::new(e.to_string())).into(), + )); + } + match IdentityCreateTransitionAction::try_from_borrowed(self, tx_out.value * 1000) { Ok(action) => { validation_result.set_data(action.into()); diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/structure/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/structure/v0/mod.rs index 2f46dc6520..502f1c6d3a 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/structure/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_create/structure/v0/mod.rs @@ -1,4 +1,5 @@ use crate::error::Error; +use dpp::identity::state_transition::AssetLockProved; use dpp::state_transition::identity_create_transition::accessors::IdentityCreateTransitionAccessorsV0; use dpp::state_transition::identity_create_transition::IdentityCreateTransition; use dpp::state_transition::public_key_in_creation::IdentityPublicKeyInCreation; @@ -18,6 +19,14 @@ impl IdentityCreateStateTransitionStructureValidationV0 for IdentityCreateTransi &self, platform_version: &PlatformVersion, ) -> Result { + let result = self + .asset_lock_proof() + .validate_structure(platform_version)?; + + if !result.is_valid() { + return Ok(result); + } + IdentityPublicKeyInCreation::validate_identity_public_keys_structure( self.public_keys(), platform_version, diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs index 97a5eec5c4..f5969bea52 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/mod.rs @@ -2,6 +2,7 @@ pub(crate) mod identity_retrieval; mod state; mod structure; +use dpp::state_transition::identity_create_transition::IdentityCreateTransition; use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition; use dpp::validation::{ConsensusValidationResult, SimpleConsensusValidationResult}; use dpp::version::PlatformVersion; @@ -40,7 +41,7 @@ impl StateTransitionActionTransformerV0 for IdentityTopUpTransition { .identity_top_up_state_transition .transform_into_action { - 0 => self.transform_into_action_v0(platform), + 0 => self.transform_into_action_v0(platform, platform_version), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "identity top up transition: transform_into_action".to_string(), known_versions: vec![0], @@ -65,7 +66,7 @@ impl StateTransitionStructureValidationV0 for IdentityTopUpTransition { .identity_top_up_state_transition .structure { - 0 => self.validate_base_structure_v0(), + 0 => self.validate_base_structure_v0(platform_version), version => Err(Error::Execution(ExecutionError::UnknownVersionMismatch { method: "identity top up transition: validate_structure".to_string(), known_versions: vec![0], diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/state/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/state/v0/mod.rs index b2382c1971..1e4c2886a4 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/state/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/state/v0/mod.rs @@ -2,26 +2,24 @@ use crate::error::Error; use crate::platform_types::platform::PlatformRef; use crate::rpc::core::CoreRPCLike; -use dpp::consensus::basic::identity::{ - IdentityAssetLockTransactionOutPointAlreadyExistsError, - IdentityAssetLockTransactionOutputNotFoundError, -}; -use dpp::consensus::basic::BasicError; +use dpp::consensus::signature::{BasicECDSAError, SignatureError}; +use dpp::dashcore::signer; +use dpp::dashcore::signer::double_sha; +use dpp::identity::state_transition::AssetLockProved; -use dpp::consensus::ConsensusError; -use dpp::dashcore::OutPoint; - -use dpp::platform_value::Bytes36; use dpp::prelude::ConsensusValidationResult; -use dpp::state_transition::identity_topup_transition::accessors::IdentityTopUpTransitionAccessorsV0; +use dpp::serialization::Signable; use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition; +use dpp::state_transition::{StateTransition, StateTransitionLike}; use dpp::version::PlatformVersion; use drive::state_transition_action::identity::identity_topup::IdentityTopUpTransitionAction; use drive::state_transition_action::StateTransitionAction; -use crate::execution::validation::asset_lock::fetch_tx_out::v0::FetchAssetLockProofTxOutV0; use drive::grovedb::TransactionArg; +use crate::error::execution::ExecutionError; +use crate::execution::validation::state_transition::common::asset_lock::proof::AssetLockProofStateValidation; +use crate::execution::validation::state_transition::common::asset_lock::transaction::fetch_asset_lock_transaction_output_sync::fetch_asset_lock_transaction_output_sync; pub(in crate::execution::validation::state_transition::state_transitions::identity_top_up) trait IdentityTopUpStateTransitionStateValidationV0 { @@ -35,6 +33,7 @@ pub(in crate::execution::validation::state_transition::state_transitions::identi fn transform_into_action_v0( &self, platform: &PlatformRef, + platform_version: &PlatformVersion, ) -> Result, Error>; } @@ -45,54 +44,34 @@ impl IdentityTopUpStateTransitionStateValidationV0 for IdentityTopUpTransition { tx: TransactionArg, platform_version: &PlatformVersion, ) -> Result, Error> { - let outpoint = match self.asset_lock_proof().out_point() { - None => { - return Ok(ConsensusValidationResult::new_with_error( - ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new( - self.asset_lock_proof().instant_lock_output_index().unwrap(), - ), - ), - ), - )); - } - Some(outpoint) => outpoint, - }; + let mut validation_result = ConsensusValidationResult::::default(); - // Now we should check that we aren't using an asset lock again - let asset_lock_already_found = platform.drive.has_asset_lock_outpoint( - &Bytes36(outpoint), + validation_result.merge(self.asset_lock_proof().validate_state( + platform, tx, - &platform_version.drive, - )?; + platform_version, + )?); - if asset_lock_already_found { - let outpoint = OutPoint::from(outpoint); - return Ok(ConsensusValidationResult::new_with_error( - ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutPointAlreadyExistsError( - IdentityAssetLockTransactionOutPointAlreadyExistsError::new( - outpoint.txid, - outpoint.vout as usize, - ), - ), - ), - )); + if !validation_result.is_valid() { + return Ok(validation_result); } - self.transform_into_action_v0(platform) + self.transform_into_action_v0(platform, platform_version) } fn transform_into_action_v0( &self, platform: &PlatformRef, + platform_version: &PlatformVersion, ) -> Result, Error> { let mut validation_result = ConsensusValidationResult::::default(); - let tx_out_validation = self - .asset_lock_proof() - .fetch_asset_lock_transaction_output_sync_v0(platform.core_rpc)?; + let tx_out_validation = fetch_asset_lock_transaction_output_sync( + platform.core_rpc, + self.asset_lock_proof(), + platform_version, + )?; + if !tx_out_validation.is_valid() { return Ok(ConsensusValidationResult::new_with_errors( tx_out_validation.errors, @@ -100,7 +79,31 @@ impl IdentityTopUpStateTransitionStateValidationV0 for IdentityTopUpTransition { } let tx_out = tx_out_validation.into_data()?; - match IdentityTopUpTransitionAction::try_from_borrowed(self, tx_out.value * 1000) { + + // Verify one time signature + + let singable_bytes = StateTransition::IdentityTopUp(self.clone()).signable_bytes()?; + + let public_key_hash = tx_out + .script_pubkey + .p2pkh_public_key_hash_bytes() + .ok_or_else(|| { + Error::Execution(ExecutionError::CorruptedCodeExecution( + "output must be a valid p2pkh already", + )) + })?; + + if let Err(e) = signer::verify_hash_signature( + &double_sha(singable_bytes), + self.signature().as_slice(), + public_key_hash, + ) { + return Ok(ConsensusValidationResult::new_with_error( + SignatureError::BasicECDSAError(BasicECDSAError::new(e.to_string())).into(), + )); + } + + match IdentityTopUpTransitionAction::try_from_borrowed(self, &tx_out.value * 1000) { Ok(action) => { validation_result.set_data(action.into()); } diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/structure/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/structure/v0/mod.rs index a4f3f00d83..28bdf9425d 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/structure/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/identity_top_up/structure/v0/mod.rs @@ -1,16 +1,27 @@ use crate::error::Error; +use dpp::identity::state_transition::AssetLockProved; use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition; use dpp::validation::SimpleConsensusValidationResult; +use dpp::version::PlatformVersion; pub(in crate::execution::validation::state_transition::state_transitions::identity_top_up) trait IdentityTopUpStateTransitionStructureValidationV0 { - fn validate_base_structure_v0(&self) -> Result; + fn validate_base_structure_v0( + &self, + platform_version: &PlatformVersion, + ) -> Result; } impl IdentityTopUpStateTransitionStructureValidationV0 for IdentityTopUpTransition { - fn validate_base_structure_v0(&self) -> Result { + fn validate_base_structure_v0( + &self, + platform_version: &PlatformVersion, + ) -> Result { // TODO: Add validation for the structure of the IdentityTopUpTransition - Ok(SimpleConsensusValidationResult::default()) + + self.asset_lock_proof() + .validate_structure(platform_version) + .map_err(Error::Protocol) } } diff --git a/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs index 1d3e6996c4..6f6c0a5339 100644 --- a/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/cleaned_abci_messages/request_init_chain_cleaned_params/v0/mod.rs @@ -46,6 +46,9 @@ pub struct RequestInitChainCleanedParams { /// The genesis time in milliseconds pub genesis_time: TimestampMillis, + /// Initial height + pub initial_height: u64, + /// Initial core chain lock height. pub initial_core_height: Option, } @@ -66,6 +69,7 @@ impl TryFrom for RequestInitChainCleanedParams { Ok(Self { genesis_time, + initial_height: request.initial_height as u64, initial_core_height, }) } diff --git a/packages/rs-drive-abci/src/platform_types/platform/mod.rs b/packages/rs-drive-abci/src/platform_types/platform/mod.rs index a76b41d81f..791b65b0c0 100644 --- a/packages/rs-drive-abci/src/platform_types/platform/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/platform/mod.rs @@ -18,6 +18,7 @@ use dashcore_rpc::dashcore::BlockHash; use crate::execution::types::block_execution_context::BlockExecutionContext; use crate::platform_types::platform_state::v0::PlatformStateV0Methods; use crate::platform_types::platform_state::PlatformState; +use dpp::block::block_info::BlockInfo; use dpp::serialization::PlatformDeserializable; use dpp::version::{PlatformVersion, PlatformVersionCurrentVersion}; use drive::error::Error::GroveDB; @@ -52,6 +53,8 @@ pub struct PlatformRef<'a, C> { pub config: &'a PlatformConfig, /// Core RPC Client pub core_rpc: &'a C, + /// Block info + pub block_info: &'a BlockInfo, } // @append_only diff --git a/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs b/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs index 80e1482cd1..d4b08b9ecb 100644 --- a/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/platform_state/mod.rs @@ -3,11 +3,11 @@ pub mod v0; use crate::error::Error; use crate::platform_types::platform_state::v0::{ - PlatformInitializationState, PlatformStateForSavingV0, PlatformStateV0, PlatformStateV0Methods, + PlatformStateForSavingV0, PlatformStateV0, PlatformStateV0Methods, }; use crate::platform_types::validator_set::ValidatorSet; -use dashcore_rpc::dashcore_rpc_json::{ExtendedQuorumDetails, MasternodeListItem, QuorumType}; +use dashcore_rpc::dashcore_rpc_json::MasternodeListItem; use derive_more::From; use dpp::bincode::{config, Decode, Encode}; use dpp::block::epoch::Epoch; @@ -24,6 +24,7 @@ use dpp::ProtocolError::{PlatformDeserializationError, PlatformSerializationErro use indexmap::IndexMap; use crate::error::execution::ExecutionError; +use dpp::block::block_info::BlockInfo; use dpp::util::hash::hash; use std::collections::BTreeMap; @@ -341,9 +342,9 @@ impl PlatformStateV0Methods for PlatformState { } } - fn initialization_information(&self) -> &Option { + fn genesis_block_info(&self) -> Option<&BlockInfo> { match self { - PlatformState::V0(v0) => &v0.initialization_information, + PlatformState::V0(v0) => v0.genesis_block_info.as_ref(), } } @@ -395,9 +396,9 @@ impl PlatformStateV0Methods for PlatformState { } } - fn set_initialization_information(&mut self, info: Option) { + fn set_genesis_block_info(&mut self, info: Option) { match self { - PlatformState::V0(v0) => v0.set_initialization_information(info), + PlatformState::V0(v0) => v0.set_genesis_block_info(info), } } @@ -449,12 +450,6 @@ impl PlatformStateV0Methods for PlatformState { } } - fn initialization_information_mut(&mut self) -> &mut Option { - match self { - PlatformState::V0(v0) => v0.initialization_information_mut(), - } - } - fn take_next_validator_set_quorum_hash(&mut self) -> Option { match self { PlatformState::V0(v0) => v0.take_next_validator_set_quorum_hash(), @@ -466,4 +461,10 @@ impl PlatformStateV0Methods for PlatformState { PlatformState::V0(v0) => v0.last_block_id_hash(), } } + + fn any_block_info(&self) -> &BlockInfo { + match self { + PlatformState::V0(v0) => v0.any_block_info(), + } + } } diff --git a/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs b/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs index 8a99d9e059..b15dce4743 100644 --- a/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs +++ b/packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs @@ -1,8 +1,7 @@ use crate::error::execution::ExecutionError; use crate::error::Error; use dashcore_rpc::dashcore::{ProTxHash, QuorumHash}; -use dashcore_rpc::dashcore_rpc_json::{ExtendedQuorumDetails, MasternodeListItem}; -use dashcore_rpc::json::QuorumType; +use dashcore_rpc::dashcore_rpc_json::MasternodeListItem; use dpp::block::epoch::{Epoch, EPOCH_0}; use dpp::block::extended_block_info::ExtendedBlockInfo; @@ -16,6 +15,7 @@ use indexmap::IndexMap; use crate::platform_types::masternode::Masternode; use crate::platform_types::validator_set::ValidatorSet; +use dpp::block::block_info::{BlockInfo, DEFAULT_BLOCK_INFO}; use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0Getters; use dpp::version::{PlatformVersion, TryIntoPlatformVersioned}; use std::collections::BTreeMap; @@ -24,6 +24,8 @@ use std::fmt::{Debug, Formatter}; /// Platform state #[derive(Clone)] pub struct PlatformStateV0 { + /// Information about the genesis block + pub genesis_block_info: Option, /// Information about the last block pub last_committed_block_info: Option, /// Current Version @@ -44,9 +46,6 @@ pub struct PlatformStateV0 { /// current HPMN masternode list pub hpmn_masternode_list: BTreeMap, - - /// if we initialized the chain this block - pub initialization_information: Option, } impl Debug for PlatformStateV0 { @@ -78,10 +77,7 @@ impl Debug for PlatformStateV0 { ) .field("full_masternode_list", &self.full_masternode_list) .field("hpmn_masternode_list", &self.hpmn_masternode_list) - .field( - "initialization_information", - &self.initialization_information, - ) + .field("initialization_information", &self.genesis_block_info) .finish() } } @@ -97,6 +93,8 @@ fn hex_encoded_validator_sets(validator_sets: &IndexMap, /// Information about the last block pub last_committed_block_info: Option, /// Current Version @@ -118,9 +116,6 @@ pub(super) struct PlatformStateForSavingV0 { /// current HPMN masternode list pub hpmn_masternode_list: BTreeMap, - - /// if we initialized the chain this block - pub initialization_information: Option, } impl TryFrom for PlatformStateForSavingV0 { @@ -129,6 +124,7 @@ impl TryFrom for PlatformStateForSavingV0 { fn try_from(value: PlatformStateV0) -> Result { let platform_version = PlatformVersion::get(value.current_protocol_version_in_consensus)?; Ok(PlatformStateForSavingV0 { + genesis_block_info: value.genesis_block_info, last_committed_block_info: value.last_committed_block_info, current_protocol_version_in_consensus: value.current_protocol_version_in_consensus, next_epoch_protocol_version: value.next_epoch_protocol_version, @@ -164,7 +160,6 @@ impl TryFrom for PlatformStateForSavingV0 { )) }) .collect::, Error>>()?, - initialization_information: value.initialization_information, }) } } @@ -172,6 +167,7 @@ impl TryFrom for PlatformStateForSavingV0 { impl From for PlatformStateV0 { fn from(value: PlatformStateForSavingV0) -> Self { PlatformStateV0 { + genesis_block_info: value.genesis_block_info, last_committed_block_info: value.last_committed_block_info, current_protocol_version_in_consensus: value.current_protocol_version_in_consensus, next_epoch_protocol_version: value.next_epoch_protocol_version, @@ -196,18 +192,10 @@ impl From for PlatformStateV0 { .into_iter() .map(|(k, v)| (ProTxHash::from_byte_array(k.to_buffer()), v.into())) .collect(), - initialization_information: value.initialization_information, } } } -/// Platform state for the first block -#[derive(Clone, Debug, Encode, Decode)] -pub struct PlatformInitializationState { - /// Core initialization height - pub core_initialization_height: u32, -} - impl PlatformStateV0 { /// The default state at init chain pub(super) fn default_with_protocol_versions( @@ -223,7 +211,7 @@ impl PlatformStateV0 { validator_sets: Default::default(), full_masternode_list: Default::default(), hpmn_masternode_list: Default::default(), - initialization_information: None, + genesis_block_info: None, } } } @@ -283,7 +271,10 @@ pub trait PlatformStateV0Methods { fn hpmn_masternode_list(&self) -> &BTreeMap; /// Returns information about the platform initialization state, if it exists. - fn initialization_information(&self) -> &Option; + fn genesis_block_info(&self) -> Option<&BlockInfo>; + + /// Returns the last committed block info if present or the genesis block info if not or default one + fn any_block_info(&self) -> &BlockInfo; /// Sets the last committed block info. fn set_last_committed_block_info(&mut self, info: Option); @@ -309,7 +300,7 @@ pub trait PlatformStateV0Methods { /// Sets the list of high performance masternodes. fn set_hpmn_masternode_list(&mut self, list: BTreeMap); /// Sets the platform initialization information. - fn set_initialization_information(&mut self, info: Option); + fn set_genesis_block_info(&mut self, info: Option); /// Returns a mutable reference to the last committed block info. fn last_committed_block_info_mut(&mut self) -> &mut Option; @@ -335,8 +326,6 @@ pub trait PlatformStateV0Methods { /// Returns a mutable reference to the list of high performance masternodes. fn hpmn_masternode_list_mut(&mut self) -> &mut BTreeMap; - /// Returns a mutable reference to the platform initialization information. - fn initialization_information_mut(&mut self) -> &mut Option; /// The epoch ref fn epoch_ref(&self) -> &Epoch; /// The last block id hash @@ -366,11 +355,9 @@ impl PlatformStateV0Methods for PlatformStateV0 { .as_ref() .map(|block_info| block_info.basic_info().core_height) .unwrap_or_else(|| { - self.initialization_information + self.genesis_block_info .as_ref() - .map(|initialization_information| { - initialization_information.core_initialization_height - }) + .map(|initialization_information| initialization_information.core_height) .unwrap_or_default() }) } @@ -381,11 +368,9 @@ impl PlatformStateV0Methods for PlatformStateV0 { .as_ref() .map(|block_info| block_info.basic_info().core_height) .unwrap_or_else(|| { - self.initialization_information + self.genesis_block_info .as_ref() - .map(|initialization_information| { - initialization_information.core_initialization_height - }) + .map(|block_info| block_info.core_height) .unwrap_or(default) }) } @@ -509,8 +494,8 @@ impl PlatformStateV0Methods for PlatformStateV0 { } /// Returns information about the platform initialization state, if it exists. - fn initialization_information(&self) -> &Option { - &self.initialization_information + fn genesis_block_info(&self) -> Option<&BlockInfo> { + self.genesis_block_info.as_ref() } /// Returns the quorum hash of the current validator set. @@ -564,8 +549,8 @@ impl PlatformStateV0Methods for PlatformStateV0 { } /// Sets the platform initialization information. - fn set_initialization_information(&mut self, info: Option) { - self.initialization_information = info; + fn set_genesis_block_info(&mut self, info: Option) { + self.genesis_block_info = info; } fn last_committed_block_info_mut(&mut self) -> &mut Option { @@ -600,7 +585,14 @@ impl PlatformStateV0Methods for PlatformStateV0 { &mut self.hpmn_masternode_list } - fn initialization_information_mut(&mut self) -> &mut Option { - &mut self.initialization_information + fn any_block_info(&self) -> &BlockInfo { + self.last_committed_block_info + .as_ref() + .map(|b| b.basic_info()) + .unwrap_or_else(|| { + self.genesis_block_info + .as_ref() + .unwrap_or(&DEFAULT_BLOCK_INFO) + }) } } diff --git a/packages/rs-drive-abci/src/rpc/core.rs b/packages/rs-drive-abci/src/rpc/core.rs index 858eacc273..ab0c9b59a5 100644 --- a/packages/rs-drive-abci/src/rpc/core.rs +++ b/packages/rs-drive-abci/src/rpc/core.rs @@ -5,7 +5,7 @@ use dashcore_rpc::dashcore_rpc_json::{ GetTransactionLockedResult, MasternodeListDiff, MnSyncStatus, QuorumInfoResult, QuorumType, SoftforkInfo, }; -use dashcore_rpc::json::GetTransactionResult; +use dashcore_rpc::json::GetRawTransactionResult; use dashcore_rpc::{Auth, Client, Error, RpcApi}; use dpp::dashcore::{hashes::Hash, InstantLock}; use serde_json::Value; @@ -37,7 +37,27 @@ pub trait CoreRPCLike { ) -> Result, Error>; /// Get transaction - fn get_transaction_extended_info(&self, tx_id: &Txid) -> Result; + fn get_transaction_extended_info(&self, tx_id: &Txid) + -> Result; + + /// Get optional transaction extended info + /// Returns None if transaction doesn't exists + fn get_optional_transaction_extended_info( + &self, + transaction_id: &Txid, + ) -> Result, Error> { + match self.get_transaction_extended_info(transaction_id) { + Ok(transaction_info) => Ok(Some(transaction_info)), + // Return None if transaction with specified tx id is not present + Err(Error::JsonRpc(dashcore_rpc::jsonrpc::error::Error::Rpc( + dashcore_rpc::jsonrpc::error::RpcError { + code: CORE_RPC_INVALID_ADDRESS_OR_KEY, + .. + }, + ))) => Ok(None), + Err(e) => Err(e), + } + } /// Get block by hash fn get_fork_info(&self, name: &str) -> Result, Error>; @@ -107,18 +127,25 @@ pub struct DefaultCoreRPC { inner: Client, } +/// Client still warming up +pub const CORE_RPC_ERROR_IN_WARMUP: i32 = -28; +/// Dash is not connected +pub const CORE_RPC_CLIENT_NOT_CONNECTED: i32 = -9; +/// Still downloading initial blocks +pub const CORE_RPC_CLIENT_IN_INITIAL_DOWNLOAD: i32 = -10; +/// Parse error +pub const CORE_RPC_PARSE_ERROR: i32 = -32700; +/// Invalid address or key +pub const CORE_RPC_INVALID_ADDRESS_OR_KEY: i32 = -5; +/// Invalid, missing or duplicate parameter +pub const CORE_RPC_INVALID_PARAMETER: i32 = -8; + macro_rules! retry { ($action:expr) => {{ /// Maximum number of retry attempts const MAX_RETRIES: u32 = 4; /// // Multiplier for Fibonacci sequence const FIB_MULTIPLIER: u64 = 1; - /// Client still warming up - const CORE_RPC_ERROR_IN_WARMUP: i32 = -28; - /// Dash is not connected - const CORE_RPC_CLIENT_NOT_CONNECTED: i32 = -9; - /// Still downloading initial blocks - const CORE_RPC_CLIENT_IN_INITIAL_DOWNLOAD: i32 = -10; fn fibonacci(n: u32) -> u64 { match n { @@ -201,8 +228,11 @@ impl CoreRPCLike for DefaultCoreRPC { retry!(self.inner.get_transaction_are_locked(&tx_ids)) } - fn get_transaction_extended_info(&self, tx_id: &Txid) -> Result { - retry!(self.inner.get_transaction(tx_id, None)) + fn get_transaction_extended_info( + &self, + tx_id: &Txid, + ) -> Result { + retry!(self.inner.get_raw_transaction_info(tx_id, None)) } fn get_fork_info(&self, name: &str) -> Result, Error> { @@ -247,12 +277,6 @@ impl CoreRPCLike for DefaultCoreRPC { base_block: Option, block: u32, ) -> Result { - tracing::debug!( - method = "get_protx_diff_with_masternodes", - "base block {:?} block {}", - base_block, - block - ); retry!(self .inner .get_protx_listdiff(base_block.unwrap_or(1), block)) @@ -266,21 +290,13 @@ impl CoreRPCLike for DefaultCoreRPC { instant_lock: &InstantLock, max_height: Option, ) -> Result { - tracing::debug!( - method = "verify_instant_lock", - "instant_lock {:?} max_height {:?}", - instant_lock, - max_height - ); - - let request_id = hex::encode(instant_lock.request_id()?); - - retry!(self.inner.get_verifyislock( - request_id.as_str(), - &instant_lock.txid.to_hex(), - hex::encode(instant_lock.signature).as_str(), - max_height, - )) + let request_id = instant_lock.request_id()?.to_string(); + let transaction_id = instant_lock.txid.to_string(); + let signature = hex::encode(instant_lock.signature); + + retry!(self + .inner + .get_verifyislock(&request_id, &transaction_id, &signature, max_height)) } /// Verify a chain lock signature @@ -291,18 +307,12 @@ impl CoreRPCLike for DefaultCoreRPC { chain_lock: &ChainLock, max_height: Option, ) -> Result { - tracing::debug!( - method = "verify_chain_lock", - "chain lock {:?} max height {:?}", - chain_lock, - max_height, - ); - - retry!(self.inner.get_verifychainlock( - hex::encode(chain_lock.block_hash).as_str(), - hex::encode(chain_lock.signature).as_str(), - max_height - )) + let block_hash = chain_lock.block_hash.to_string(); + let signature = hex::encode(chain_lock.signature); + + retry!(self + .inner + .get_verifychainlock(block_hash.as_str(), &signature, max_height)) } /// Returns masternode sync status diff --git a/packages/rs-drive-abci/src/rpc/mod.rs b/packages/rs-drive-abci/src/rpc/mod.rs index 6575232295..53bee285fd 100644 --- a/packages/rs-drive-abci/src/rpc/mod.rs +++ b/packages/rs-drive-abci/src/rpc/mod.rs @@ -1,2 +1,4 @@ /// Dash Core RPC pub mod core; +/// Core signatures verification +pub mod signature; diff --git a/packages/rs-drive-abci/src/rpc/signature.rs b/packages/rs-drive-abci/src/rpc/signature.rs new file mode 100644 index 0000000000..35f0522aa3 --- /dev/null +++ b/packages/rs-drive-abci/src/rpc/signature.rs @@ -0,0 +1,42 @@ +use super::core::CORE_RPC_INVALID_ADDRESS_OR_KEY; +use super::core::CORE_RPC_INVALID_PARAMETER; +use super::core::CORE_RPC_PARSE_ERROR; +use crate::error::execution::ExecutionError; +use crate::error::Error; +use crate::rpc::core::CoreRPCLike; +use dpp::dashcore::InstantLock; + +/// An entity with a signature verifiable by Core RPC +pub trait CoreSignatureVerification { + /// Verify signature with Core RPC + fn verify_signature( + &self, + core_rpc: &C, + core_chain_locked_height: u32, + ) -> Result; +} + +impl CoreSignatureVerification for InstantLock { + fn verify_signature( + &self, + core_rpc: &C, + core_chain_locked_height: u32, + ) -> Result { + match core_rpc.verify_instant_lock(self, Some(core_chain_locked_height)) { + Ok(result) => Ok(result), + // Consider signature is invalid in case if instant lock data format is wrong for some reason + Err(dashcore_rpc::Error::JsonRpc(dashcore_rpc::jsonrpc::error::Error::Rpc( + dashcore_rpc::jsonrpc::error::RpcError { + code: + CORE_RPC_PARSE_ERROR + | CORE_RPC_INVALID_ADDRESS_OR_KEY + | CORE_RPC_INVALID_PARAMETER, + .. + }, + ))) => Ok(false), + Err(e) => Err(Error::Execution(ExecutionError::DashCoreBadResponseError( + format!("can't verify instant asset lock proof signature with core: {e}",), + ))), + } + } +} diff --git a/packages/rs-drive-abci/tests/strategy_tests/execution.rs b/packages/rs-drive-abci/tests/strategy_tests/execution.rs index ad4d588a92..2b0c495ac8 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/execution.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/execution.rs @@ -258,6 +258,11 @@ pub(crate) fn run_chain_for_strategy( })) }); + platform + .core_rpc + .expect_verify_instant_lock() + .returning(|_, _| Ok(true)); + platform .core_rpc .expect_get_quorum_listextended() @@ -790,6 +795,7 @@ pub(crate) fn continue_chain_for_strategy( &abci_app, &root_app_hash, &state_transaction_results, + &block_info, platform_version, ); } diff --git a/packages/rs-drive-abci/tests/strategy_tests/main.rs b/packages/rs-drive-abci/tests/strategy_tests/main.rs index 549292faee..4c6e0d16cd 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/main.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/main.rs @@ -567,7 +567,7 @@ mod tests { .expect("expected to fetch balances") .expect("expected to have an identity to get balance from"); - assert_eq!(balance, 99868433120) + assert_eq!(balance, 99868671240) } #[test] @@ -1213,7 +1213,7 @@ mod tests { .unwrap() .unwrap() ), - "222db2ac6b16f578c08c1a03e3af7260ccf12bda2260bde8edc64324454a2dc7".to_string() + "7a1082461952a6eff8af3cd091e27d1c2d804553f0670f55416852759a5cfb5e".to_string() ) } @@ -1817,7 +1817,7 @@ mod tests { .unwrap() .unwrap() ), - "84a498e90949b1f99b1b70273ccbd7a3575289b0b1aadde4e70f2daf45395dbc".to_string() + "639802ed1f2491efcd49eb201c2c36de57c18eb6db798143c794caa756ea591a".to_string() ) } diff --git a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs index b1befcf3a5..a3bc874710 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs @@ -4,7 +4,7 @@ use dapi_grpc::platform::v0::{ use dpp::document::Document; use dpp::identity::PartialIdentity; -use dpp::state_transition::{StateTransition, StateTransitionLike}; +use dpp::state_transition::StateTransition; use drive::drive::Drive; use drive::query::SingleDocumentDriveQuery; use drive_abci::abci::AbciApplication; @@ -13,6 +13,7 @@ use drive_abci::rpc::core::MockCoreRPCLike; use dapi_grpc::platform::v0::get_proofs_request::{get_proofs_request_v0, GetProofsRequestV0}; use dapi_grpc::platform::v0::get_proofs_response::GetProofsResponseV0; +use dpp::block::block_info::BlockInfo; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::version::PlatformVersion; use drive::state_transition_action::document::documents_batch::document_transition::DocumentTransitionAction; @@ -24,11 +25,7 @@ use tenderdash_abci::proto::abci::ExecTxResult; use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; -use dpp::platform_value::string_encoding::Encoding; use dpp::state_transition::documents_batch_transition::accessors::DocumentsBatchTransitionAccessorsV0; -use dpp::state_transition::documents_batch_transition::document_base_transition::v0::v0_methods::DocumentBaseTransitionV0Methods; -use dpp::state_transition::documents_batch_transition::document_transition::action_type::TransitionActionTypeGetter; -use dpp::state_transition::documents_batch_transition::document_transition::DocumentTransitionV0Methods; use drive::state_transition_action::document::documents_batch::document_transition::document_base_transition_action::DocumentBaseTransitionActionAccessorsV0; use drive::state_transition_action::document::documents_batch::document_transition::document_create_transition_action::DocumentFromCreateTransition; use drive::state_transition_action::document::documents_batch::document_transition::document_replace_transition_action::DocumentFromReplaceTransition; @@ -36,7 +33,8 @@ use drive::state_transition_action::document::documents_batch::document_transiti pub(crate) fn verify_state_transitions_were_or_were_not_executed( abci_app: &AbciApplication, expected_root_hash: &[u8; 32], - state_transitions: &Vec<(StateTransition, ExecTxResult)>, + state_transitions: &[(StateTransition, ExecTxResult)], + block_info: &BlockInfo, platform_version: &PlatformVersion, ) -> bool { let state = abci_app.platform.state.read().unwrap(); @@ -45,6 +43,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( state: &state, config: &abci_app.platform.config, core_rpc: &abci_app.platform.core_rpc, + block_info, }; //actions are easier to transform to queries diff --git a/packages/rs-drive/src/drive/asset_lock/add_asset_lock_outpoint_operations/v0/mod.rs b/packages/rs-drive/src/drive/asset_lock/add_asset_lock_outpoint_operations/v0/mod.rs index 2bfdc6052d..43dbc1f8d8 100644 --- a/packages/rs-drive/src/drive/asset_lock/add_asset_lock_outpoint_operations/v0/mod.rs +++ b/packages/rs-drive/src/drive/asset_lock/add_asset_lock_outpoint_operations/v0/mod.rs @@ -6,8 +6,8 @@ use crate::drive::object_size_info::PathKeyElementInfo::PathFixedSizeKeyRefEleme use crate::drive::Drive; use crate::error::Error; use crate::fee::op::LowLevelDriveOperation; -use dpp::platform_value::Bytes36; +use dpp::platform_value::Bytes36; use dpp::version::PlatformVersion; use grovedb::batch::KeyInfoPath; use grovedb::Element::Item; @@ -41,6 +41,7 @@ impl Drive { &platform_version.drive, )?; } + self.batch_insert( PathFixedSizeKeyRefElement(( asset_lock_storage_path(), diff --git a/packages/rs-drive/src/drive/asset_lock/has_asset_lock_outpoint/v0/mod.rs b/packages/rs-drive/src/drive/asset_lock/has_asset_lock_outpoint/v0/mod.rs index 169f296c71..0257abe529 100644 --- a/packages/rs-drive/src/drive/asset_lock/has_asset_lock_outpoint/v0/mod.rs +++ b/packages/rs-drive/src/drive/asset_lock/has_asset_lock_outpoint/v0/mod.rs @@ -7,9 +7,9 @@ use crate::drive::grove_operations::QueryTarget::QueryTargetValue; use crate::drive::Drive; use crate::error::Error; use crate::fee::op::LowLevelDriveOperation; -use dpp::platform_value::Bytes36; use dpp::version::drive_versions::DriveVersion; +use dpp::platform_value::Bytes36; use grovedb::TransactionArg; impl Drive { @@ -69,6 +69,7 @@ impl Drive { query_target: QueryTargetValue(36), } }; + self.grove_has_raw( (&asset_lock_storage_path).into(), outpoint.as_slice(), diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/credit_distribution_pools/get_epoch_fee_multiplier/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/credit_distribution_pools/get_epoch_fee_multiplier/v0/mod.rs index ba58736287..d5bb19fde2 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/credit_distribution_pools/get_epoch_fee_multiplier/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/credit_distribution_pools/get_epoch_fee_multiplier/v0/mod.rs @@ -34,9 +34,9 @@ impl Drive { Ok(f64::from_be_bytes( encoded_multiplier.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "epochs multiplier must be f64", - )) + ))) })?, )) } diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs index b024f35c6f..7ca1b2b554 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs @@ -46,9 +46,9 @@ impl Drive { let block_count = u64::from_be_bytes( encoded_block_count.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( - "epochs proposer block count must be u64", - )) + Error::Drive(DriveError::CorruptedSerialization(String::from( + String::from("epochs proposer block count must be u64"), + ))) })?, ); diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epochs_proposer_block_count/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epochs_proposer_block_count/v0/mod.rs index 2ea9357aff..4081dd965d 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epochs_proposer_block_count/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epochs_proposer_block_count/v0/mod.rs @@ -29,9 +29,9 @@ impl Drive { let proposer_block_count = u64::from_be_bytes(encoded_proposer_block_count.as_slice().try_into().map_err( |_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "epochs proposer block count item have an invalid length", - )) + ))) }, )?); diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_core_height/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_core_height/v0/mod.rs index 8a7006396d..dab0912103 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_core_height/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_core_height/v0/mod.rs @@ -37,9 +37,9 @@ impl Drive { .as_slice() .try_into() .map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "start block height must be u32", - )) + ))) })?, ); diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_height/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_height/v0/mod.rs index 4ec3f1f193..7fd1a86c7b 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_height/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_epoch_start_block_height/v0/mod.rs @@ -37,9 +37,9 @@ impl Drive { .as_slice() .try_into() .map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "start block height must be u64", - )) + ))) })?, ); diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs index 221bb470eb..a1f4d85249 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs @@ -72,9 +72,9 @@ impl Drive { let next_start_block_core_height = u32::from_be_bytes(item.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "start block core height must be u32", - )) + ))) })?); let (path, key, element) = path_key_elements.next().unwrap(); @@ -93,9 +93,9 @@ impl Drive { let next_start_block_height = u64::from_be_bytes(item.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "start block height must be u64", - )) + ))) })?); let epoch_key = path diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/start_time/get_epoch_start_time/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/start_time/get_epoch_start_time/v0/mod.rs index 699316bb05..3239bda5a1 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/start_time/get_epoch_start_time/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/start_time/get_epoch_start_time/v0/mod.rs @@ -32,7 +32,9 @@ impl Drive { let start_time = u64::from_be_bytes(encoded_start_time.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization("start time must be u64")) + Error::Drive(DriveError::CorruptedSerialization(String::from( + "start time must be u64", + ))) })?); Ok(start_time) diff --git a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs index 55a988ee8c..6651a08650 100644 --- a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs @@ -37,9 +37,9 @@ impl Drive { for (epoch_index_key, _) in query_result.to_key_elements() { let epoch_index = u16::from_be_bytes(epoch_index_key.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "pending updates epoch index for must be u16", - )) + ))) })?); if refunds_per_epoch.contains_key(&epoch_index) { diff --git a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs index 6b678f1df7..0e94e993f9 100644 --- a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs @@ -45,9 +45,9 @@ impl Drive { for (epoch_index_key, element) in query_result.to_key_elements() { let epoch_index = u16::from_be_bytes(epoch_index_key.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "epoch index for pending epoch refunds must be u16", - )) + ))) })?); let existing_credits = refunds_per_epoch.get_mut(&epoch_index).ok_or(Error::Drive( diff --git a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs index 68a8742673..636b74b826 100644 --- a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs @@ -35,9 +35,9 @@ impl Drive { .map(|(epoch_index_key, element)| { let epoch_index = u16::from_be_bytes(epoch_index_key.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "epoch index for pending pool updates must be i64", - )) + ))) })?); if let Element::SumItem(credits, _) = element { diff --git a/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs b/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs index 855b13d735..5977fecfee 100644 --- a/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs @@ -59,9 +59,9 @@ impl Drive { let epoch_index = EpochIndex::from_be_bytes(encoded_epoch_index.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "item have an invalid length", - )) + ))) })?); Ok(epoch_index) diff --git a/packages/rs-drive/src/drive/identity/fetch/balance/fetch_identity_negative_balance/v0/mod.rs b/packages/rs-drive/src/drive/identity/fetch/balance/fetch_identity_negative_balance/v0/mod.rs index 85c25f87fc..718b2759cb 100644 --- a/packages/rs-drive/src/drive/identity/fetch/balance/fetch_identity_negative_balance/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/balance/fetch_identity_negative_balance/v0/mod.rs @@ -44,9 +44,9 @@ impl Drive { Ok(Some(Item(encoded_balance, _))) => { let balance = Credits::from_be_bytes( encoded_balance.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "negative balance must be u64", - )) + ))) })?, ); diff --git a/packages/rs-drive/src/drive/identity/fetch/mod.rs b/packages/rs-drive/src/drive/identity/fetch/mod.rs index 504c32025d..f4c7bc225e 100644 --- a/packages/rs-drive/src/drive/identity/fetch/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/mod.rs @@ -127,7 +127,9 @@ impl Drive { .map(|key_element| { if let SumItem(balance, _) = &key_element.1 { let identifier: [u8; 32] = key_element.0.try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization("expected 32 bytes")) + Error::Drive(DriveError::CorruptedSerialization(String::from( + "expected 32 bytes", + ))) })?; Ok((identifier, *balance as u64)) } else { diff --git a/packages/rs-drive/src/drive/identity/key/fetch/mod.rs b/packages/rs-drive/src/drive/identity/key/fetch/mod.rs index 66c86d8a4b..20ea097b2d 100644 --- a/packages/rs-drive/src/drive/identity/key/fetch/mod.rs +++ b/packages/rs-drive/src/drive/identity/key/fetch/mod.rs @@ -222,8 +222,11 @@ fn key_and_optional_element_to_identity_public_key_id_and_object_pair( return Ok((public_key.id(), Some(public_key))); } - let (key_id, _) = KeyID::decode_var(key.as_slice()) - .ok_or_else(|| Error::Drive(DriveError::CorruptedSerialization("can't decode key id")))?; + let (key_id, _) = KeyID::decode_var(key.as_slice()).ok_or_else(|| { + Error::Drive(DriveError::CorruptedSerialization(String::from( + "can't decode key id", + ))) + })?; Ok((key_id, None)) } diff --git a/packages/rs-drive/src/drive/system/protocol_version/fetch_current_protocol_version/v0/mod.rs b/packages/rs-drive/src/drive/system/protocol_version/fetch_current_protocol_version/v0/mod.rs index 089828643c..a8035d3049 100644 --- a/packages/rs-drive/src/drive/system/protocol_version/fetch_current_protocol_version/v0/mod.rs +++ b/packages/rs-drive/src/drive/system/protocol_version/fetch_current_protocol_version/v0/mod.rs @@ -29,7 +29,7 @@ impl Drive { let bytes = e.as_item_bytes()?; let Some((protocol_version, _)) = ProtocolVersion::decode_var(bytes) else { return Err(Error::Drive(DriveError::CorruptedSerialization( - "protocol version incorrectly serialized", + String::from("protocol version incorrectly serialized"), ))); }; Ok(protocol_version) diff --git a/packages/rs-drive/src/drive/system/protocol_version/fetch_next_protocol_version/v0/mod.rs b/packages/rs-drive/src/drive/system/protocol_version/fetch_next_protocol_version/v0/mod.rs index 73d3395d7c..4212321adf 100644 --- a/packages/rs-drive/src/drive/system/protocol_version/fetch_next_protocol_version/v0/mod.rs +++ b/packages/rs-drive/src/drive/system/protocol_version/fetch_next_protocol_version/v0/mod.rs @@ -30,7 +30,7 @@ impl Drive { let bytes = e.as_item_bytes()?; let Some((protocol_version, _)) = ProtocolVersion::decode_var(bytes) else { return Err(Error::Drive(DriveError::CorruptedSerialization( - "protocol version incorrectly serialized", + String::from("protocol version incorrectly serialized"), ))); }; Ok(protocol_version) diff --git a/packages/rs-drive/src/error/drive.rs b/packages/rs-drive/src/error/drive.rs index b7c67e2a16..8af1de9209 100644 --- a/packages/rs-drive/src/error/drive.rs +++ b/packages/rs-drive/src/error/drive.rs @@ -142,7 +142,7 @@ pub enum DriveError { /// Error #[error("corrupted serialization error: {0}")] - CorruptedSerialization(&'static str), + CorruptedSerialization(String), /// Error #[error("corrupted genesis time not an item error")] diff --git a/packages/rs-drive/src/fee_pools/epochs/paths.rs b/packages/rs-drive/src/fee_pools/epochs/paths.rs index 2b1334d96b..52ad653f91 100644 --- a/packages/rs-drive/src/fee_pools/epochs/paths.rs +++ b/packages/rs-drive/src/fee_pools/epochs/paths.rs @@ -96,9 +96,9 @@ pub fn encode_epoch_index_key(index: u16) -> Result<[u8; 2], Error> { /// Decodes an epoch index key pub fn decode_epoch_index_key(epoch_key: &[u8]) -> Result { let index_with_offset = u16::from_be_bytes(epoch_key.try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization( + Error::Drive(DriveError::CorruptedSerialization(String::from( "epoch index must be u16", - )) + ))) })?); index_with_offset diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_create/mod.rs b/packages/rs-drive/src/state_transition_action/identity/identity_create/mod.rs index 8ca853cba1..bafaaeca53 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_create/mod.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_create/mod.rs @@ -45,7 +45,7 @@ impl IdentityCreateTransitionAction { /// Asset Lock Outpoint pub fn asset_lock_outpoint(&self) -> Bytes36 { match self { - IdentityCreateTransitionAction::V0(transition) => transition.asset_lock_outpoint, + IdentityCreateTransitionAction::V0(action) => action.asset_lock_outpoint, } } } diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_create/transformer.rs b/packages/rs-drive/src/state_transition_action/identity/identity_create/transformer.rs index 34516d3ecc..5ba3476ebb 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_create/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_create/transformer.rs @@ -1,13 +1,14 @@ use crate::state_transition_action::identity::identity_create::v0::IdentityCreateTransitionActionV0; use crate::state_transition_action::identity::identity_create::IdentityCreateTransitionAction; use dpp::consensus::ConsensusError; +use dpp::fee::Credits; use dpp::state_transition::identity_create_transition::IdentityCreateTransition; impl IdentityCreateTransitionAction { /// try from pub fn try_from( value: IdentityCreateTransition, - initial_balance_amount: u64, + initial_balance_amount: Credits, ) -> Result { match value { IdentityCreateTransition::V0(v0) => { @@ -19,7 +20,7 @@ impl IdentityCreateTransitionAction { /// try from borrowed pub fn try_from_borrowed( value: &IdentityCreateTransition, - initial_balance_amount: u64, + initial_balance_amount: Credits, ) -> Result { match value { IdentityCreateTransition::V0(v0) => Ok( diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_create/v0/transformer.rs b/packages/rs-drive/src/state_transition_action/identity/identity_create/v0/transformer.rs index 146824e583..467d046390 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_create/v0/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_create/v0/transformer.rs @@ -1,7 +1,11 @@ use crate::state_transition_action::identity::identity_create::v0::IdentityCreateTransitionActionV0; +use dpp::consensus::basic::decode::SerializedObjectParsingError; use dpp::consensus::basic::identity::IdentityAssetLockTransactionOutputNotFoundError; use dpp::consensus::basic::BasicError; use dpp::consensus::ConsensusError; +use dpp::fee::Credits; +use dpp::platform_value::Bytes36; +use std::io; use dpp::state_transition::state_transitions::identity::identity_create_transition::v0::IdentityCreateTransitionV0; @@ -9,7 +13,7 @@ impl IdentityCreateTransitionActionV0 { /// try from pub fn try_from( value: IdentityCreateTransitionV0, - initial_balance_amount: u64, + initial_balance_amount: Credits, ) -> Result { let IdentityCreateTransitionV0 { public_keys, @@ -17,28 +21,29 @@ impl IdentityCreateTransitionActionV0 { asset_lock_proof, .. } = value; - let asset_lock_outpoint = asset_lock_proof - .out_point() - .ok_or(ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new( - asset_lock_proof.instant_lock_output_index().unwrap(), - ), - ), - ))? - .into(); + + let asset_lock_outpoint = asset_lock_proof.out_point().ok_or_else(|| { + IdentityAssetLockTransactionOutputNotFoundError::new( + asset_lock_proof.output_index() as usize + ) + })?; + + let outpoint_bytes = asset_lock_outpoint + .try_into() + .map_err(|e: io::Error| SerializedObjectParsingError::new(e.to_string()))?; + Ok(IdentityCreateTransitionActionV0 { public_keys: public_keys.into_iter().map(|a| a.into()).collect(), initial_balance_amount, identity_id, - asset_lock_outpoint, + asset_lock_outpoint: Bytes36::new(outpoint_bytes), }) } /// try from borrowed pub fn try_from_borrowed( value: &IdentityCreateTransitionV0, - initial_balance_amount: u64, + initial_balance_amount: Credits, ) -> Result { let IdentityCreateTransitionV0 { public_keys, @@ -46,21 +51,22 @@ impl IdentityCreateTransitionActionV0 { asset_lock_proof, .. } = value; - let asset_lock_outpoint = asset_lock_proof - .out_point() - .ok_or(ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new( - asset_lock_proof.instant_lock_output_index().unwrap(), - ), - ), - ))? - .into(); + + let asset_lock_outpoint = asset_lock_proof.out_point().ok_or_else(|| { + IdentityAssetLockTransactionOutputNotFoundError::new( + asset_lock_proof.output_index() as usize + ) + })?; + + let outpoint_bytes = asset_lock_outpoint + .try_into() + .map_err(|e: io::Error| SerializedObjectParsingError::new(e.to_string()))?; + Ok(IdentityCreateTransitionActionV0 { public_keys: public_keys.iter().map(|key| key.into()).collect(), initial_balance_amount, identity_id: *identity_id, - asset_lock_outpoint, + asset_lock_outpoint: Bytes36::new(outpoint_bytes), }) } } diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_topup/mod.rs b/packages/rs-drive/src/state_transition_action/identity/identity_topup/mod.rs index 8250dc560a..0743a68fb0 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_topup/mod.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_topup/mod.rs @@ -33,7 +33,7 @@ impl IdentityTopUpTransitionAction { /// Asset Lock Outpoint pub fn asset_lock_outpoint(&self) -> Bytes36 { match self { - IdentityTopUpTransitionAction::V0(transition) => transition.asset_lock_outpoint, + IdentityTopUpTransitionAction::V0(action) => action.asset_lock_outpoint, } } } diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_topup/transformer.rs b/packages/rs-drive/src/state_transition_action/identity/identity_topup/transformer.rs index 0909f4a7df..71195bda6f 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_topup/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_topup/transformer.rs @@ -1,13 +1,14 @@ use crate::state_transition_action::identity::identity_topup::v0::IdentityTopUpTransitionActionV0; use crate::state_transition_action::identity::identity_topup::IdentityTopUpTransitionAction; use dpp::consensus::ConsensusError; +use dpp::fee::Credits; use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition; impl IdentityTopUpTransitionAction { /// try from pub fn try_from( value: IdentityTopUpTransition, - top_up_balance_amount: u64, + top_up_balance_amount: Credits, ) -> Result { match value { IdentityTopUpTransition::V0(v0) => { @@ -19,7 +20,7 @@ impl IdentityTopUpTransitionAction { /// try from borrowed pub fn try_from_borrowed( value: &IdentityTopUpTransition, - top_up_balance_amount: u64, + top_up_balance_amount: Credits, ) -> Result { match value { IdentityTopUpTransition::V0(v0) => Ok( diff --git a/packages/rs-drive/src/state_transition_action/identity/identity_topup/v0/transformer.rs b/packages/rs-drive/src/state_transition_action/identity/identity_topup/v0/transformer.rs index c4aa59b149..6a69294fcf 100644 --- a/packages/rs-drive/src/state_transition_action/identity/identity_topup/v0/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/identity/identity_topup/v0/transformer.rs @@ -1,62 +1,67 @@ use crate::state_transition_action::identity::identity_topup::v0::IdentityTopUpTransitionActionV0; +use dpp::consensus::basic::decode::SerializedObjectParsingError; use dpp::consensus::basic::identity::IdentityAssetLockTransactionOutputNotFoundError; use dpp::consensus::basic::BasicError; use dpp::consensus::ConsensusError; +use dpp::fee::Credits; +use dpp::platform_value::Bytes36; use dpp::state_transition::state_transitions::identity::identity_topup_transition::v0::IdentityTopUpTransitionV0; +use std::io; impl IdentityTopUpTransitionActionV0 { /// try from pub fn try_from( value: IdentityTopUpTransitionV0, - top_up_balance_amount: u64, + top_up_balance_amount: Credits, ) -> Result { let IdentityTopUpTransitionV0 { identity_id, asset_lock_proof, .. } = value; - let asset_lock_outpoint = asset_lock_proof - .out_point() - .ok_or(ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new( - asset_lock_proof.instant_lock_output_index().unwrap(), - ), - ), - ))? - .into(); + + let asset_lock_outpoint = asset_lock_proof.out_point().ok_or_else(|| { + IdentityAssetLockTransactionOutputNotFoundError::new( + asset_lock_proof.output_index() as usize + ) + })?; + + let outpoint_bytes = asset_lock_outpoint + .try_into() + .map_err(|e: io::Error| SerializedObjectParsingError::new(e.to_string()))?; + Ok(IdentityTopUpTransitionActionV0 { top_up_balance_amount, identity_id, - asset_lock_outpoint, + asset_lock_outpoint: Bytes36::new(outpoint_bytes), }) } /// try from borrowed pub fn try_from_borrowed( value: &IdentityTopUpTransitionV0, - top_up_balance_amount: u64, + top_up_balance_amount: Credits, ) -> Result { let IdentityTopUpTransitionV0 { identity_id, asset_lock_proof, .. } = value; - let asset_lock_outpoint = asset_lock_proof - .out_point() - .ok_or(ConsensusError::BasicError( - BasicError::IdentityAssetLockTransactionOutputNotFoundError( - IdentityAssetLockTransactionOutputNotFoundError::new( - asset_lock_proof.instant_lock_output_index().unwrap(), - ), - ), - ))? - .into(); + + let asset_lock_outpoint = asset_lock_proof.out_point().ok_or_else(|| { + IdentityAssetLockTransactionOutputNotFoundError::new( + asset_lock_proof.output_index() as usize + ) + })?; + + let outpoint_bytes = asset_lock_outpoint + .try_into() + .map_err(|e: io::Error| SerializedObjectParsingError::new(e.to_string()))?; Ok(IdentityTopUpTransitionActionV0 { top_up_balance_amount, identity_id: *identity_id, - asset_lock_outpoint, + asset_lock_outpoint: Bytes36::new(outpoint_bytes), }) } } diff --git a/packages/rs-platform-version/src/version/dpp_versions.rs b/packages/rs-platform-version/src/version/dpp_versions.rs index 4bb8a18abd..7fba8e1516 100644 --- a/packages/rs-platform-version/src/version/dpp_versions.rs +++ b/packages/rs-platform-version/src/version/dpp_versions.rs @@ -17,6 +17,17 @@ pub struct DPPVersion { #[derive(Clone, Debug, Default)] pub struct StateTransitionVersions { pub documents: DocumentTransitionVersions, + pub identities: IdentityTransitionVersions, +} + +#[derive(Clone, Debug, Default)] +pub struct IdentityTransitionVersions { + pub asset_locks: IdentityTransitionAssetLockVersions, +} + +#[derive(Clone, Debug, Default)] +pub struct IdentityTransitionAssetLockVersions { + pub validate_asset_lock_transaction_structure: FeatureVersion, } #[derive(Clone, Debug, Default)] diff --git a/packages/rs-platform-version/src/version/drive_abci_versions.rs b/packages/rs-platform-version/src/version/drive_abci_versions.rs index 8f0a6b67d9..6a63c9064e 100644 --- a/packages/rs-platform-version/src/version/drive_abci_versions.rs +++ b/packages/rs-platform-version/src/version/drive_abci_versions.rs @@ -123,6 +123,7 @@ pub struct DriveAbciStateTransitionValidationVersions { #[derive(Clone, Debug, Default)] pub struct DriveAbciStateTransitionCommonValidationVersions { + pub asset_locks: DriveAbciAssetLockValidationVersions, pub validate_identity_public_key_contract_bounds: FeatureVersion, pub validate_identity_public_key_ids_dont_exist_in_state: FeatureVersion, pub validate_identity_public_key_ids_exist_in_state: FeatureVersion, @@ -130,7 +131,12 @@ pub struct DriveAbciStateTransitionCommonValidationVersions { pub validate_unique_identity_public_key_hashes_in_state: FeatureVersion, } -#[derive(Clone, Debug, Default)] +#[derive(Clone, Copy, Debug, Default)] +pub struct DriveAbciAssetLockValidationVersions { + pub fetch_asset_lock_transaction_output_sync: FeatureVersion, +} + +#[derive(Clone, Copy, Debug, Default)] pub struct DriveAbciEngineMethodVersions { pub init_chain: FeatureVersion, pub check_tx: FeatureVersion, diff --git a/packages/rs-platform-version/src/version/mocks/v2_test.rs b/packages/rs-platform-version/src/version/mocks/v2_test.rs index a318726dcb..f070df50d8 100644 --- a/packages/rs-platform-version/src/version/mocks/v2_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v2_test.rs @@ -4,17 +4,17 @@ use crate::version::dpp_versions::{ DocumentTransitionVersions, DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, DocumentTypeSchemaVersions, DocumentTypeVersions, DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, - IdentityKeyTypeMethodVersions, IdentityVersions, JsonSchemaValidatorVersions, - PublicKeyInCreationMethodVersions, RecursiveSchemaValidatorVersions, - StateTransitionConversionVersions, StateTransitionMethodVersions, - StateTransitionSerializationVersions, StateTransitionVersions, + IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, + IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, + RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, + StateTransitionMethodVersions, StateTransitionSerializationVersions, StateTransitionVersions, }; use crate::version::drive_abci_versions::{ - DriveAbciBlockEndMethodVersions, DriveAbciBlockFeeProcessingMethodVersions, - DriveAbciBlockStartMethodVersions, DriveAbciCoreBasedUpdatesMethodVersions, - DriveAbciCoreSubsidyMethodVersions, DriveAbciDocumentsStateTransitionValidationVersions, - DriveAbciEngineMethodVersions, DriveAbciEpochMethodVersions, - DriveAbciFeePoolInwardsDistributionMethodVersions, + DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, + DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, + DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreSubsidyMethodVersions, + DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, + DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, DriveAbciFeePoolOutwardsDistributionMethodVersions, DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, @@ -529,6 +529,9 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { validation_and_processing: DriveAbciValidationVersions { state_transitions: DriveAbciStateTransitionValidationVersions { common_validation_methods: DriveAbciStateTransitionCommonValidationVersions { + asset_locks: DriveAbciAssetLockValidationVersions { + fetch_asset_lock_transaction_output_sync: 0, + }, validate_identity_public_key_contract_bounds: 0, validate_identity_public_key_ids_dont_exist_in_state: 0, validate_identity_public_key_ids_exist_in_state: 0, @@ -791,6 +794,11 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { }, }, }, + identities: IdentityTransitionVersions { + asset_locks: IdentityTransitionAssetLockVersions { + validate_asset_lock_transaction_structure: 0, + }, + }, }, contract_versions: ContractVersions { contract_serialization_version: FeatureVersionBounds { diff --git a/packages/rs-platform-version/src/version/mocks/v3_test.rs b/packages/rs-platform-version/src/version/mocks/v3_test.rs index 33aa5d039e..d9567ac2a6 100644 --- a/packages/rs-platform-version/src/version/mocks/v3_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v3_test.rs @@ -4,17 +4,17 @@ use crate::version::dpp_versions::{ DocumentTransitionVersions, DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, DocumentTypeSchemaVersions, DocumentTypeVersions, DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, - IdentityKeyTypeMethodVersions, IdentityVersions, JsonSchemaValidatorVersions, - PublicKeyInCreationMethodVersions, RecursiveSchemaValidatorVersions, - StateTransitionConversionVersions, StateTransitionMethodVersions, - StateTransitionSerializationVersions, StateTransitionVersions, + IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, + IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, + RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, + StateTransitionMethodVersions, StateTransitionSerializationVersions, StateTransitionVersions, }; use crate::version::drive_abci_versions::{ - DriveAbciBlockEndMethodVersions, DriveAbciBlockFeeProcessingMethodVersions, - DriveAbciBlockStartMethodVersions, DriveAbciCoreBasedUpdatesMethodVersions, - DriveAbciCoreSubsidyMethodVersions, DriveAbciDocumentsStateTransitionValidationVersions, - DriveAbciEngineMethodVersions, DriveAbciEpochMethodVersions, - DriveAbciFeePoolInwardsDistributionMethodVersions, + DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, + DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, + DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreSubsidyMethodVersions, + DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, + DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, DriveAbciFeePoolOutwardsDistributionMethodVersions, DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, @@ -529,6 +529,9 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { validation_and_processing: DriveAbciValidationVersions { state_transitions: DriveAbciStateTransitionValidationVersions { common_validation_methods: DriveAbciStateTransitionCommonValidationVersions { + asset_locks: DriveAbciAssetLockValidationVersions { + fetch_asset_lock_transaction_output_sync: 0, + }, validate_identity_public_key_contract_bounds: 0, validate_identity_public_key_ids_dont_exist_in_state: 0, validate_identity_public_key_ids_exist_in_state: 0, @@ -791,6 +794,11 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { }, }, }, + identities: IdentityTransitionVersions { + asset_locks: IdentityTransitionAssetLockVersions { + validate_asset_lock_transaction_structure: 0, + }, + }, }, contract_versions: ContractVersions { contract_serialization_version: FeatureVersionBounds { diff --git a/packages/rs-platform-version/src/version/v1.rs b/packages/rs-platform-version/src/version/v1.rs index 4afd8c9a33..0bc3b19a23 100644 --- a/packages/rs-platform-version/src/version/v1.rs +++ b/packages/rs-platform-version/src/version/v1.rs @@ -4,17 +4,17 @@ use crate::version::dpp_versions::{ DocumentTransitionVersions, DocumentTypeClassMethodVersions, DocumentTypeIndexVersions, DocumentTypeMethodVersions, DocumentTypeSchemaVersions, DocumentTypeVersions, DocumentVersions, DocumentsBatchTransitionValidationVersions, DocumentsBatchTransitionVersions, - IdentityKeyTypeMethodVersions, IdentityVersions, JsonSchemaValidatorVersions, - PublicKeyInCreationMethodVersions, RecursiveSchemaValidatorVersions, - StateTransitionConversionVersions, StateTransitionMethodVersions, - StateTransitionSerializationVersions, StateTransitionVersions, + IdentityKeyTypeMethodVersions, IdentityTransitionAssetLockVersions, IdentityTransitionVersions, + IdentityVersions, JsonSchemaValidatorVersions, PublicKeyInCreationMethodVersions, + RecursiveSchemaValidatorVersions, StateTransitionConversionVersions, + StateTransitionMethodVersions, StateTransitionSerializationVersions, StateTransitionVersions, }; use crate::version::drive_abci_versions::{ - DriveAbciBlockEndMethodVersions, DriveAbciBlockFeeProcessingMethodVersions, - DriveAbciBlockStartMethodVersions, DriveAbciCoreBasedUpdatesMethodVersions, - DriveAbciCoreSubsidyMethodVersions, DriveAbciDocumentsStateTransitionValidationVersions, - DriveAbciEngineMethodVersions, DriveAbciEpochMethodVersions, - DriveAbciFeePoolInwardsDistributionMethodVersions, + DriveAbciAssetLockValidationVersions, DriveAbciBlockEndMethodVersions, + DriveAbciBlockFeeProcessingMethodVersions, DriveAbciBlockStartMethodVersions, + DriveAbciCoreBasedUpdatesMethodVersions, DriveAbciCoreSubsidyMethodVersions, + DriveAbciDocumentsStateTransitionValidationVersions, DriveAbciEngineMethodVersions, + DriveAbciEpochMethodVersions, DriveAbciFeePoolInwardsDistributionMethodVersions, DriveAbciFeePoolOutwardsDistributionMethodVersions, DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, @@ -526,6 +526,9 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { validation_and_processing: DriveAbciValidationVersions { state_transitions: DriveAbciStateTransitionValidationVersions { common_validation_methods: DriveAbciStateTransitionCommonValidationVersions { + asset_locks: DriveAbciAssetLockValidationVersions { + fetch_asset_lock_transaction_output_sync: 0, + }, validate_identity_public_key_contract_bounds: 0, validate_identity_public_key_ids_dont_exist_in_state: 0, validate_identity_public_key_ids_exist_in_state: 0, @@ -788,6 +791,11 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { }, }, }, + identities: IdentityTransitionVersions { + asset_locks: IdentityTransitionAssetLockVersions { + validate_asset_lock_transaction_structure: 0, + }, + }, }, contract_versions: ContractVersions { contract_serialization_version: FeatureVersionBounds { diff --git a/packages/simple-signer/Cargo.toml b/packages/simple-signer/Cargo.toml index afb445ff92..ba67325a72 100644 --- a/packages/simple-signer/Cargo.toml +++ b/packages/simple-signer/Cargo.toml @@ -9,5 +9,5 @@ rust-version = "1.73" [dependencies] anyhow = { version = "1.0.70" } bincode = { version = "2.0.0-rc.3", features = ["serde"] } -dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", tag = "v0.15.1" } +dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", branch = "master" } dpp = { path = "../rs-dpp", features = ["abci"] } diff --git a/packages/strategy-tests/Cargo.toml b/packages/strategy-tests/Cargo.toml index 39d462692d..6877409ab6 100644 --- a/packages/strategy-tests/Cargo.toml +++ b/packages/strategy-tests/Cargo.toml @@ -27,7 +27,7 @@ bs58 = "0.4.0" hex = "0.4.3" indexmap = { version = "1.9.3", features = ["serde"] } sha2 = "0.10.6" -dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", tag = "v0.15.1" } +dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", branch = "master" } dpp = { path = "../rs-dpp", features = ["abci"] } simple-signer = { path = "../simple-signer" } platform-version = { path = "../rs-platform-version" } diff --git a/packages/strategy-tests/src/transitions.rs b/packages/strategy-tests/src/transitions.rs index 5a303e61be..558e1b2cf7 100644 --- a/packages/strategy-tests/src/transitions.rs +++ b/packages/strategy-tests/src/transitions.rs @@ -1,10 +1,10 @@ -use dashcore_rpc::dashcore::secp256k1::SecretKey; -use dashcore_rpc::dashcore::{Network, PrivateKey}; use dpp::dashcore::secp256k1::Secp256k1; +use dpp::dashcore::secp256k1::SecretKey; use dpp::dashcore::{ bls_sig_utils::BLSSignature, hash_types::CycleHash, InstantLock, OutPoint, ScriptBuf, Transaction, TxIn, TxOut, Txid, }; +use dpp::dashcore::{Network, PrivateKey}; use dpp::identifier::Identifier; use dpp::identity::accessors::{IdentityGettersV0, IdentitySettersV0}; use dpp::identity::core_script::CoreScript; @@ -34,6 +34,8 @@ use dpp::NativeBlsModule; use rand::prelude::{IteratorRandom, StdRng}; use simple_signer::signer::SimpleSigner; +use dpp::dashcore::transaction::special_transaction::asset_lock::AssetLockPayload; +use dpp::dashcore::transaction::special_transaction::TransactionPayload; use std::collections::HashSet; use std::str::FromStr; @@ -108,34 +110,50 @@ pub fn instant_asset_lock_proof_transaction_fixture( //let from_address = Address::p2pkh(&public_key, Network::Testnet); let one_time_public_key = one_time_private_key.public_key(&secp); - let txid = + // We are going to fund 1 Dash and + // assume that input has 100005000 + // 5000 will be returned back + + let input_txid = Txid::from_str("a477af6b2667c29670467e4e0728b685ee07b240235771862318e29ddbe58458").unwrap(); - let outpoint = OutPoint::new(txid, 0); + + let input_outpoint = OutPoint::new(input_txid, 0); + let input = TxIn { - previous_output: outpoint, + previous_output: input_outpoint, script_sig: ScriptBuf::new_p2pkh(&public_key_hash), sequence: 0, witness: Default::default(), }; + let one_time_key_hash = one_time_public_key.pubkey_hash(); + + let funding_output = TxOut { + value: 100000000, // 1 Dash + script_pubkey: ScriptBuf::new_p2pkh(&one_time_key_hash), + }; + let burn_output = TxOut { value: 100000000, // 1 Dash - script_pubkey: ScriptBuf::new_op_return(&one_time_key_hash), + script_pubkey: ScriptBuf::new_op_return(&[]), }; + let change_output = TxOut { value: 5000, script_pubkey: ScriptBuf::new_p2pkh(&public_key_hash), }; - let unrelated_burn_output = TxOut { - value: 5000, - script_pubkey: ScriptBuf::new_op_return(&[1, 2, 3]), - }; + + let payload = TransactionPayload::AssetLockPayloadType(AssetLockPayload { + version: 0, + credit_outputs: vec![funding_output], + }); + Transaction { version: 0, lock_time: 0, input: vec![input], - output: vec![burn_output, change_output, unrelated_burn_output], - special_transaction_payload: None, + output: vec![burn_output, change_output], + special_transaction_payload: Some(payload), } } diff --git a/packages/wallet-lib/package.json b/packages/wallet-lib/package.json index 8b19a380b1..3fdfd20b2b 100644 --- a/packages/wallet-lib/package.json +++ b/packages/wallet-lib/package.json @@ -46,7 +46,7 @@ "homepage": "https://github.com/dashevo/wallet-lib#readme", "dependencies": { "@dashevo/dapi-client": "workspace:*", - "@dashevo/dashcore-lib": "~0.20.9", + "@dashevo/dashcore-lib": "~0.21.0", "@dashevo/grpc-common": "workspace:*", "@dashevo/wasm-dpp": "workspace:*", "@yarnpkg/pnpify": "^4.0.0-rc.42", diff --git a/packages/wasm-dpp/lib/test/fixtures/getChainAssetLockProofFixture.js b/packages/wasm-dpp/lib/test/fixtures/getChainAssetLockProofFixture.js index d10c6c8908..253196ef0c 100644 --- a/packages/wasm-dpp/lib/test/fixtures/getChainAssetLockProofFixture.js +++ b/packages/wasm-dpp/lib/test/fixtures/getChainAssetLockProofFixture.js @@ -12,7 +12,6 @@ function getChainAssetLockProofFixture() { indexBuffer.writeUInt32LE(outPoint.outpointIndex, 0); return new ChainAssetLockProof({ - type: 1, coreChainLockedHeight: 42, outPoint: Buffer.concat([binaryTransactionHash, indexBuffer]), }); diff --git a/packages/wasm-dpp/lib/test/fixtures/getInstantAssetLockProofFixture.js b/packages/wasm-dpp/lib/test/fixtures/getInstantAssetLockProofFixture.js index a163531509..f490e5e858 100644 --- a/packages/wasm-dpp/lib/test/fixtures/getInstantAssetLockProofFixture.js +++ b/packages/wasm-dpp/lib/test/fixtures/getInstantAssetLockProofFixture.js @@ -19,9 +19,29 @@ async function getInstantAssetLockProofFixture(oneTimePrivateKey = new PrivateKe const privateKey = new PrivateKey(privateKeyHex); const fromAddress = privateKey.toAddress(); - const oneTimePublicKey = oneTimePrivateKey.toPublicKey(); + const transaction = new Transaction(undefined); - const transaction = new Transaction() + const output = { + satoshis: 100000, + address: fromAddress.toString(), + }; + + const realOutput = { + satoshis: output.satoshis, + script: Script + .buildPublicKeyHashOut(oneTimePrivateKey.toAddress()).toString(), + }; + + const payload = Transaction.Payload.AssetLockPayload.fromJSON({ + version: 1, + creditOutputs: [{ + satoshis: realOutput.satoshis, + script: realOutput.script, + }], + }); + + transaction + .setType(Transaction.TYPES.TRANSACTION_ASSET_LOCK) .from({ address: fromAddress, txId: 'a477af6b2667c29670467e4e0728b685ee07b240235771862318e29ddbe58458', @@ -30,15 +50,16 @@ async function getInstantAssetLockProofFixture(oneTimePrivateKey = new PrivateKe .toString(), satoshis: 100000, }) - // eslint-disable-next-line no-underscore-dangle - .addBurnOutput(90000, oneTimePublicKey._getID()) - .to(fromAddress, 5000) - .addOutput(Transaction.Output({ - satoshis: 5000, - script: Script() - .add(Opcode.OP_RETURN) - .add(Buffer.from([1, 2, 3])), - })) + .addOutput( + new Transaction.Output({ + satoshis: realOutput.satoshis, + // @ts-ignore + script: new Script().add(Opcode.OP_RETURN).add(Buffer.alloc(0)), + }), + ) + // .change(changeAddress) + // @ts-ignore + .setExtraPayload(payload) .sign(privateKey); const instantLock = new InstantLock({ @@ -55,7 +76,6 @@ async function getInstantAssetLockProofFixture(oneTimePrivateKey = new PrivateKe }); return new InstantAssetLockProof({ - type: 0, instantLock: instantLock.toBuffer(), transaction: transaction.toBuffer(), outputIndex: 0, diff --git a/packages/wasm-dpp/package.json b/packages/wasm-dpp/package.json index 6bc4661229..0aa3fd5936 100644 --- a/packages/wasm-dpp/package.json +++ b/packages/wasm-dpp/package.json @@ -43,7 +43,7 @@ "@babel/cli": "^7.21.0", "@babel/core": "^7.15.5", "@babel/preset-env": "^7.15.4", - "@dashevo/dashcore-lib": "~0.20.9", + "@dashevo/dashcore-lib": "~0.21.0", "@dashevo/dpns-contract": "workspace:*", "@types/bs58": "^4.0.1", "@types/node": "^14.6.0", diff --git a/packages/wasm-dpp/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs b/packages/wasm-dpp/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs index 3b156ef63b..c6f09e7400 100644 --- a/packages/wasm-dpp/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +++ b/packages/wasm-dpp/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs @@ -1,8 +1,10 @@ use crate::buffer::Buffer; +use crate::identifier::IdentifierWrapper; use dpp::consensus::codes::ErrorWithCode; use dpp::consensus::state::identity::IdentityInsufficientBalanceError; use dpp::consensus::ConsensusError; use dpp::serialization::PlatformSerializable; +use std::ops::Deref; use wasm_bindgen::prelude::*; #[wasm_bindgen(js_name=IdentityInsufficientBalanceError)] @@ -19,8 +21,8 @@ impl From<&IdentityInsufficientBalanceError> for IdentityInsufficientBalanceErro #[wasm_bindgen(js_class=IdentityInsufficientBalanceError)] impl IdentityInsufficientBalanceErrorWasm { #[wasm_bindgen(js_name=getIdentityId)] - pub fn identity_id(&self) -> Buffer { - Buffer::from_bytes(self.inner.identity_id.as_bytes()) + pub fn identity_id(&self) -> IdentifierWrapper { + (*self.inner.identity_id()).into() } #[wasm_bindgen(js_name=getBalance)] diff --git a/packages/wasm-dpp/src/identity/identity_facade.rs b/packages/wasm-dpp/src/identity/identity_facade.rs index 951748e4a9..5ecf107021 100644 --- a/packages/wasm-dpp/src/identity/identity_facade.rs +++ b/packages/wasm-dpp/src/identity/identity_facade.rs @@ -128,12 +128,14 @@ impl IdentityFacadeWasm { instant_lock: Vec, asset_lock_transaction: Vec, output_index: u32, - ) -> Result { - let instant_lock: InstantLock = - consensus::deserialize(&instant_lock).map_err(|e| e.to_string())?; + ) -> Result { + let instant_lock: InstantLock = consensus::deserialize(&instant_lock) + .map_err(|e| JsError::new(format!("can't deserialize instant lock: {e}").as_str()))?; - let asset_lock_transaction: Transaction = - consensus::deserialize(&asset_lock_transaction).map_err(|e| e.to_string())?; + let asset_lock_transaction: Transaction = consensus::deserialize(&asset_lock_transaction) + .map_err(|e| { + JsError::new(format!("can't deserialize transaction: {e}").as_str()) + })?; Ok(IdentityFacade::create_instant_lock_proof( instant_lock, diff --git a/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs b/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs index c57bca8424..70ad57c21c 100644 --- a/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs +++ b/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs @@ -1,3 +1,6 @@ +use dpp::dashcore::consensus::Encodable; +use dpp::dashcore::OutPoint; +use dpp::identity::state_transition::asset_lock_proof::AssetLockProofType; use serde::{Deserialize, Serialize}; use std::convert::TryInto; use wasm_bindgen::prelude::*; @@ -10,8 +13,8 @@ use crate::{ with_js_error, }; use dpp::identity::state_transition::asset_lock_proof::chain::ChainAssetLockProof; +use dpp::platform_value::string_encoding; use dpp::platform_value::string_encoding::Encoding; -use dpp::platform_value::{string_encoding, Bytes36}; #[wasm_bindgen(js_name=ChainAssetLockProof)] #[derive(Clone)] @@ -20,8 +23,6 @@ pub struct ChainAssetLockProofWasm(ChainAssetLockProof); #[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] struct ChainAssetLockProofParams { - #[serde(rename = "type")] - lock_type: u8, core_chain_locked_height: u32, out_point: Vec, } @@ -41,14 +42,14 @@ impl From for ChainAssetLockProof { #[wasm_bindgen(js_class = ChainAssetLockProof)] impl ChainAssetLockProofWasm { #[wasm_bindgen(constructor)] - pub fn new(raw_parameters: JsValue) -> Result { - let parameters: ChainAssetLockProofParams = - with_js_error!(serde_wasm_bindgen::from_value(raw_parameters))?; + pub fn new(raw_parameters: JsValue) -> Result { + let parameters: ChainAssetLockProofParams = serde_wasm_bindgen::from_value(raw_parameters) + .map_err(|_| JsError::new("invalid raw chain lock proof"))?; - let out_point: [u8; 36] = parameters.out_point.try_into().map_err(|_| { - RustConversionError::Error(String::from("outPoint must be a 36 byte array")) - .to_js_value() - })?; + let out_point: [u8; 36] = parameters + .out_point + .try_into() + .map_err(|_| JsError::new("outPoint must be a 36 byte array"))?; let chain_asset_lock_proof = ChainAssetLockProof::new(parameters.core_chain_locked_height, out_point); @@ -58,7 +59,7 @@ impl ChainAssetLockProofWasm { #[wasm_bindgen(js_name=getType)] pub fn get_type(&self) -> u8 { - ChainAssetLockProof::asset_lock_type() + AssetLockProofType::Chain as u8 } #[wasm_bindgen(js_name=getCoreChainLockedHeight)] @@ -72,8 +73,15 @@ impl ChainAssetLockProofWasm { } #[wasm_bindgen(js_name=getOutPoint)] - pub fn get_out_point(&self) -> Buffer { - Buffer::from_bytes_owned(self.0.out_point.to_vec()) + pub fn get_out_point(&self) -> Result { + let mut outpoint_bytes = Vec::new(); + + self.0 + .out_point + .consensus_encode(&mut outpoint_bytes) + .map_err(|e| e.to_string())?; + + Ok(Buffer::from_bytes_owned(outpoint_bytes)) } #[wasm_bindgen(js_name=setOutPoint)] @@ -82,7 +90,8 @@ impl ChainAssetLockProofWasm { RustConversionError::Error(String::from("outPoint must be a 36 byte array")) .to_js_value() })?; - self.0.out_point = Bytes36::new(out_point); + + self.0.out_point = OutPoint::from(out_point); Ok(()) } @@ -91,8 +100,14 @@ impl ChainAssetLockProofWasm { pub fn to_json(&self) -> Result { let js_object = self.to_object()?; - let out_point_base64 = - string_encoding::encode(self.0.out_point.as_slice(), Encoding::Base64); + let mut outpoint_bytes = Vec::new(); + + self.0 + .out_point + .consensus_encode(&mut outpoint_bytes) + .map_err(|e| e.to_string())?; + + let out_point_base64 = string_encoding::encode(&outpoint_bytes, Encoding::Base64); js_sys::Reflect::set( &js_object, @@ -110,7 +125,7 @@ impl ChainAssetLockProofWasm { let serializer = serde_wasm_bindgen::Serializer::json_compatible(); let js_object = with_js_error!(asset_lock_value.serialize(&serializer))?; - let out_point = self.get_out_point(); + let out_point = self.get_out_point()?; js_sys::Reflect::set( &js_object, diff --git a/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs b/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs index acbb46db51..9c580235ad 100644 --- a/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +++ b/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs @@ -3,6 +3,8 @@ use dpp::dashcore::{ consensus::encode::serialize, }; +use dpp::dashcore::consensus::Encodable; +use dpp::identity::state_transition::asset_lock_proof::AssetLockProofType; use serde::{Deserialize, Serialize}; use std::convert::TryInto; use wasm_bindgen::prelude::*; @@ -15,7 +17,7 @@ use crate::{ with_js_error, }; use dpp::identity::state_transition::asset_lock_proof::instant::{ - InstantAssetLockProof, RawInstantLock, + InstantAssetLockProof, RawInstantLockProof, }; use dpp::platform_value::string_encoding; use dpp::platform_value::string_encoding::Encoding; @@ -51,34 +53,41 @@ impl From for InstantAssetLockProof { #[wasm_bindgen(js_class = InstantAssetLockProof)] impl InstantAssetLockProofWasm { #[wasm_bindgen(constructor)] - pub fn new(raw_parameters: JsValue) -> Result { - let raw_instant_lock: RawInstantLock = - with_js_error!(serde_wasm_bindgen::from_value(raw_parameters))?; + pub fn new(raw_parameters: JsValue) -> Result { + let raw_instant_lock: RawInstantLockProof = serde_wasm_bindgen::from_value(raw_parameters) + .map_err(|_| JsError::new("invalid raw instant lock proof"))?; - let instant_asset_lock_proof: InstantAssetLockProof = - raw_instant_lock.try_into().map_err(|_| { - RustConversionError::Error(String::from("object passed is not a raw Instant Lock")) - .to_js_value() - })?; + let instant_asset_lock_proof: InstantAssetLockProof = raw_instant_lock + .try_into() + .map_err(|_| JsError::new("object passed is not a raw Instant Lock"))?; Ok(instant_asset_lock_proof.into()) } #[wasm_bindgen(js_name=getType)] pub fn get_type(&self) -> u8 { - self.0.asset_lock_type() + AssetLockProofType::Instant as u8 } #[wasm_bindgen(js_name=getOutputIndex)] - pub fn get_output_index(&self) -> usize { + pub fn get_output_index(&self) -> u32 { self.0.output_index() } #[wasm_bindgen(js_name=getOutPoint)] - pub fn get_out_point(&self) -> Option { + pub fn get_out_point(&self) -> Result, JsValue> { self.0 .out_point() - .map(|out_point| Buffer::from_bytes(&out_point)) + .map(|out_point| { + let mut outpoint_bytes = Vec::new(); + + out_point + .consensus_encode(&mut outpoint_bytes) + .map_err(|e| e.to_string())?; + + Ok(Buffer::from_bytes_owned(outpoint_bytes)) + }) + .transpose() } #[wasm_bindgen(js_name=getOutput)] diff --git a/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/mod.rs b/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/mod.rs index 8bb3e0222f..81e0cb84ed 100644 --- a/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/mod.rs +++ b/packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/mod.rs @@ -56,7 +56,7 @@ pub trait AssetLockProofLike { impl AssetLockProofWasm { #[wasm_bindgen(constructor)] pub fn new(raw_asset_lock_proof: JsValue) -> Result { - let lock_type = get_lock_type(&raw_asset_lock_proof)?; + let lock_type = get_type_from_raw_asset_lock_proof(&raw_asset_lock_proof)?; match lock_type { AssetLockProofType::Instant => { @@ -93,21 +93,22 @@ impl AssetLockProofWasm { } } -fn get_lock_type(raw_asset_lock_proof: &JsValue) -> Result { - (js_sys::Reflect::get(raw_asset_lock_proof, &JsValue::from_str("type")) - .map_err(|_| { - RustConversionError::Error(String::from("error getting type from raw asset lock")) - .to_js_value() - })? +fn get_type_from_raw_asset_lock_proof( + raw_asset_lock_proof: &JsValue, +) -> Result { + let proof_type = js_sys::Reflect::get(raw_asset_lock_proof, &JsValue::from_str("type")) + .map_err(|_| JsError::new("error getting type from raw asset lock"))? .as_f64() - .ok_or_else(|| JsValue::from_str("asset lock type must be a number"))? as u64) + .ok_or_else(|| JsError::new("asset lock type must be a number"))?; + + (proof_type as u64) .try_into() - .map_err(|_| JsValue::from_str("unrecognized asset lock proof type")) + .map_err(|_| JsError::new("unrecognized asset lock proof type")) } #[wasm_bindgen(js_name=createAssetLockProofInstance)] -pub fn create_asset_lock_proof_instance(raw_parameters: JsValue) -> Result { - let lock_type = get_lock_type(&raw_parameters)?; +pub fn create_asset_lock_proof_instance(raw_parameters: JsValue) -> Result { + let lock_type = get_type_from_raw_asset_lock_proof(&raw_parameters)?; match lock_type { AssetLockProofType::Instant => { diff --git a/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/identity_create_transition.rs b/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/identity_create_transition.rs index 27d140ce84..e342868478 100644 --- a/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +++ b/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/identity_create_transition.rs @@ -14,6 +14,7 @@ use dpp::version::PlatformVersion; use crate::identifier::IdentifierWrapper; use crate::identity::state_transition::asset_lock_proof::create_asset_lock_proof_from_wasm_instance; +use dpp::identity::state_transition::AssetLockProved; use crate::{ buffer::Buffer, diff --git a/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/to_object.rs b/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/to_object.rs index 437c6b9676..d2bf353fe5 100644 --- a/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/to_object.rs +++ b/packages/wasm-dpp/src/identity/state_transition/identity_create_transition/to_object.rs @@ -1,4 +1,5 @@ use dpp::identity::state_transition::asset_lock_proof::AssetLockProof; +use dpp::identity::state_transition::AssetLockProved; use dpp::state_transition::identity_create_transition::accessors::IdentityCreateTransitionAccessorsV0; use dpp::state_transition::public_key_in_creation::IdentityPublicKeyInCreation; use dpp::{ diff --git a/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs b/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs index 3722208f56..c725337be3 100644 --- a/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +++ b/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs @@ -4,6 +4,7 @@ use std::default::Default; use crate::bls_adapter::{BlsAdapter, JsBlsAdapter}; use crate::errors::from_dpp_err; +use dpp::identity::state_transition::AssetLockProved; use dpp::identity::KeyType; use dpp::platform_value::BinaryData; use dpp::serialization::ValueConvertible; diff --git a/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/to_object.rs b/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/to_object.rs index 29b5d72502..8433175cd2 100644 --- a/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/to_object.rs +++ b/packages/wasm-dpp/src/identity/state_transition/identity_topup_transition/to_object.rs @@ -1,4 +1,5 @@ use dpp::identity::state_transition::asset_lock_proof::AssetLockProof; +use dpp::identity::state_transition::AssetLockProved; use dpp::state_transition::identity_topup_transition::accessors::IdentityTopUpTransitionAccessorsV0; use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition; use dpp::{identifier::Identifier, state_transition::StateTransitionLike}; diff --git a/packages/wasm-dpp/test/integration/identity/IdentityFacade.spec.js b/packages/wasm-dpp/test/integration/identity/IdentityFacade.spec.js index 4296bc7cdf..f3fa71fbbd 100644 --- a/packages/wasm-dpp/test/integration/identity/IdentityFacade.spec.js +++ b/packages/wasm-dpp/test/integration/identity/IdentityFacade.spec.js @@ -24,8 +24,7 @@ describe('IdentityFacade', () => { ); const chainAssetLockProofJS = getChainAssetLockProofFixture(); - const instantAssetLockProofJS = await getInstantAssetLockProofFixture(); - instantAssetLockProof = new InstantAssetLockProof(instantAssetLockProofJS.toObject()); + instantAssetLockProof = await getInstantAssetLockProofFixture(); chainAssetLockProof = new ChainAssetLockProof(chainAssetLockProofJS.toObject()); identity = await getIdentityFixture(instantAssetLockProof.createIdentifier()); diff --git a/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js b/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js index 9dbcfd4acf..650aa89223 100644 --- a/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js +++ b/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js @@ -12,13 +12,6 @@ describe('ChainAssetLockProof', () => { ); }); - describe('#getType', () => { - it('should return correct type', () => { - expect(chainAssetLockProof.getType()) - .to.equal(rawChainAssetLockProof.type); - }); - }); - describe('#getCoreChainLockedHeight', () => { it('should return correct coreChainLockedHeight', () => { expect(chainAssetLockProof.getCoreChainLockedHeight()) diff --git a/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js b/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js index 9d797ed9f9..89dc4d73d7 100644 --- a/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js +++ b/packages/wasm-dpp/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js @@ -12,13 +12,6 @@ describe('InstantAssetLockProof', () => { ); }); - describe('#getType', () => { - it('should return correct type', () => { - expect(instantAssetLockProof.getType()) - .to.equal(rawInstantAssetLockProof.type); - }); - }); - describe('#getOutputIndex', () => { it('should return correct type', () => { expect(instantAssetLockProof.getOutputIndex()) @@ -75,4 +68,15 @@ describe('InstantAssetLockProof', () => { .to.deep.equal(rawInstantAssetLockProof); }); }); + + describe('#toJSON', () => { + it('should return correct JSON', () => { + expect(instantAssetLockProof.toJSON()) + .to.deep.equal({ + instantLock: instantAssetLockProof.getInstantLock().toString('base64'), + outputIndex: instantAssetLockProof.getOutputIndex(), + transaction: instantAssetLockProof.getTransaction().toString('hex'), + }); + }); + }); }); diff --git a/scripts/configure_test_suite.sh b/scripts/configure_test_suite.sh index 2a6ce8de20..6f3561c2af 100755 --- a/scripts/configure_test_suite.sh +++ b/scripts/configure_test_suite.sh @@ -60,7 +60,8 @@ FEATURE_FLAGS_OWNER_PRIVATE_KEY=${FEATURE_FLAGS_OWNER_PRIVATE_KEY} DASHPAY_OWNER_PRIVATE_KEY=${DASHPAY_OWNER_PRIVATE_KEY} MASTERNODE_OWNER_PRO_REG_TX_HASH=${MASTERNODE_OWNER_PRO_REG_TX_HASH} MASTERNODE_OWNER_MASTER_PRIVATE_KEY=${MASTERNODE_OWNER_MASTER_PRIVATE_KEY} -NETWORK=regtest" >> ${TEST_SUITE_ENV_FILE_PATH} +NETWORK=regtest +LOG_LEVEL=info" >> ${TEST_SUITE_ENV_FILE_PATH} #EOF BENCH_SUITE_ENV_FILE_PATH=${BENCH_SUITE_PATH}/.env diff --git a/scripts/configure_test_suite_network.sh b/scripts/configure_test_suite_network.sh index 2b7d85e7f9..ab6e067a91 100755 --- a/scripts/configure_test_suite_network.sh +++ b/scripts/configure_test_suite_network.sh @@ -95,6 +95,7 @@ MASTERNODE_OWNER_PRO_REG_TX_HASH=${MASTERNODE_OWNER_PRO_REG_TX_HASH} MASTERNODE_OWNER_MASTER_PRIVATE_KEY=${MASTERNODE_OWNER_MASTER_PRIVATE_KEY} NETWORK=${NETWORK} SKIP_SYNC_BEFORE_HEIGHT=${SKIP_SYNC_BEFORE_HEIGHT} -ST_EXECUTION_INTERVAL=${ST_EXECUTION_INTERVAL}" > "${TEST_SUITE_PATH}/.env" +ST_EXECUTION_INTERVAL=${ST_EXECUTION_INTERVAL} +LOG_LEVEL=info" > "${TEST_SUITE_PATH}/.env" echo "Configured .env in $TEST_SUITE_PATH for $NETWORK_STRING from $DASH_NETWORK_CONFIGS_PATH" diff --git a/yarn.lock b/yarn.lock index 885f6f005b..d6a7e71b1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1328,7 +1328,7 @@ __metadata: version: 0.0.0-use.local resolution: "@dashevo/bench-suite@workspace:packages/bench-suite" dependencies: - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/dpns-contract": "workspace:*" "@dashevo/wallet-lib": "workspace:*" "@dashevo/wasm-dpp": "workspace:*" @@ -1361,7 +1361,7 @@ __metadata: "@babel/core": ^7.15.5 "@dashevo/dapi-grpc": "workspace:*" "@dashevo/dash-spv": "workspace:*" - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/grpc-common": "workspace:*" "@dashevo/wasm-dpp": "workspace:*" assert-browserify: ^2.0.0 @@ -1441,7 +1441,7 @@ __metadata: "@dashevo/bls": ~1.2.9 "@dashevo/dapi-client": "workspace:*" "@dashevo/dapi-grpc": "workspace:*" - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/dashd-rpc": ^18.2.0 "@dashevo/dp-services-ctl": "github:dashevo/js-dp-services-ctl#v0.19-dev" "@dashevo/grpc-common": "workspace:*" @@ -1488,7 +1488,7 @@ __metadata: dependencies: "@dashevo/dark-gravity-wave": ^1.1.1 "@dashevo/dash-util": ^2.0.3 - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 chai: ^4.3.9 eslint: ^7.32.0 eslint-config-airbnb-base: ^14.2.1 @@ -1512,9 +1512,9 @@ __metadata: languageName: node linkType: hard -"@dashevo/dashcore-lib@npm:~0.20.9": - version: 0.20.9 - resolution: "@dashevo/dashcore-lib@npm:0.20.9" +"@dashevo/dashcore-lib@npm:~0.21.0": + version: 0.21.0 + resolution: "@dashevo/dashcore-lib@npm:0.21.0" dependencies: "@dashevo/bls": ~1.2.9 "@dashevo/x11-hash-js": ^1.0.2 @@ -1528,7 +1528,7 @@ __metadata: ripemd160: ^2.0.2 tsd: ^0.28.1 unorm: ^1.6.0 - checksum: a92adaf44107c9c8418dd91989db24e3c594083ca54cf56afe478fbedb3f3b8129fadbba5a362c5e85843dd6c75555d1435f306335b461a7555f6dfd1e53de5f + checksum: eb255e4118014e80a6f6f3f2d8b7e1e1459ed0148be69c9dc2fd8a2d53c4fe035060347addb755760b85cdfa22e42f958f6f9bb8eceed6f02a96e2f4202587b8 languageName: node linkType: hard @@ -1696,7 +1696,7 @@ __metadata: resolution: "@dashevo/platform-test-suite@workspace:packages/platform-test-suite" dependencies: "@dashevo/dapi-client": "workspace:*" - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/dpns-contract": "workspace:*" "@dashevo/feature-flags-contract": "workspace:*" "@dashevo/grpc-common": "workspace:*" @@ -1798,7 +1798,7 @@ __metadata: dependencies: "@dashevo/dapi-client": "workspace:*" "@dashevo/dash-spv": "workspace:*" - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/grpc-common": "workspace:*" "@dashevo/wasm-dpp": "workspace:*" "@yarnpkg/pnpify": ^4.0.0-rc.42 @@ -1857,7 +1857,7 @@ __metadata: "@babel/core": ^7.15.5 "@babel/preset-env": ^7.15.4 "@dashevo/bls": ~1.2.9 - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/dpns-contract": "workspace:*" "@types/bs58": ^4.0.1 "@types/node": ^14.6.0 @@ -6011,7 +6011,7 @@ __metadata: "@dashevo/bls": ~1.2.9 "@dashevo/dapi-client": "workspace:*" "@dashevo/dapi-grpc": "workspace:*" - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/dashpay-contract": "workspace:*" "@dashevo/dpns-contract": "workspace:*" "@dashevo/grpc-common": "workspace:*" @@ -6084,7 +6084,7 @@ __metadata: resolution: "dashmate@workspace:packages/dashmate" dependencies: "@dashevo/bls": ~1.2.9 - "@dashevo/dashcore-lib": ~0.20.9 + "@dashevo/dashcore-lib": ~0.21.0 "@dashevo/dashd-rpc": ^18.2.0 "@dashevo/dashpay-contract": "workspace:*" "@dashevo/docker-compose": ^0.24.4 From 998d0dea27854b872d3616dfaea522fd4a32b576 Mon Sep 17 00:00:00 2001 From: QuantumExplorer Date: Wed, 1 Nov 2023 14:43:10 +0700 Subject: [PATCH 09/22] feat(platform)!: query version upgrade (both votes and status) and epoch info (#1542) Co-authored-by: markin.io --- Cargo.lock | 33 +- .../dash/platform/dapi/v0/PlatformGrpc.java | 222 + .../v0/nodejs/PlatformPromiseClient.js | 114 + .../platform/v0/nodejs/platform_pbjs.js | 4260 +++- .../platform/v0/nodejs/platform_protoc.js | 19127 ++++++++++------ .../platform/v0/objective-c/Platform.pbobjc.h | 413 +- .../platform/v0/objective-c/Platform.pbobjc.m | 1148 +- .../platform/v0/objective-c/Platform.pbrpc.h | 39 + .../platform/v0/objective-c/Platform.pbrpc.m | 60 + .../platform/v0/python/platform_pb2.py | 1832 +- .../platform/v0/python/platform_pb2_grpc.py | 99 + .../platform/v0/rust/platform_example.rs | 5 +- .../platform/v0/web/PlatformPromiseClient.js | 42 + .../clients/platform/v0/web/platform_pb.d.ts | 531 + .../clients/platform/v0/web/platform_pb.js | 19127 ++++++++++------ .../platform/v0/web/platform_pb_service.d.ts | 57 + .../platform/v0/web/platform_pb_service.js | 120 + .../protos/platform/v0/platform.proto | 118 +- .../proto/org.dash.platform.dapi.v0.rs | 332 +- .../v0/nodejs/PlatformPromiseClient.spec.js | 31 + .../lib/externalApis/drive/DriveClient.js | 39 + .../platform/getEpochsInfoHandlerFactory.js | 32 + .../getVersionUpgradeStateHandlerFactory.js | 33 + ...tVersionUpgradeVoteStatusHandlerFactory.js | 33 + .../platform/platformHandlersFactory.js | 71 + .../externalApis/drive/DriveClient.spec.js | 151 +- .../getEpochsInfoHandlerFactory.spec.js | 113 + ...tVersionUpgradeStateHandlerFactory.spec.js | 116 + ...ionUpgradeVoteStatusHandlerFactory.spec.js | 116 + .../methods/platform/PlatformMethodsFacade.js | 6 + .../platform/getEpochsInfo/EpochInfo.js | 54 + .../getEpochsInfo/GetEpochsInfoResponse.js | 59 + .../getEpochsInfo/getEpochsInfoFactory.js | 69 + .../GetVersionUpgradeStateResponse.js | 56 + .../getVersionUpgradeState/VersionEntry.js | 26 + .../getVersionUpgradeStateFactory.js | 63 + .../GetVersionUpgradeVoteStatusResponse.js | 56 + .../VersionSignal.js | 26 + .../getVersionUpgradeVoteStatusFactory.js | 67 + .../platform/PlatformMethodsFacade.spec.js | 81 + .../GetEpochsInfoResponse.spec.js | 145 + .../getEpochsInfoFactory.spec.js | 168 + .../GetVersionUpgradeStateResponse.spec.js | 145 + .../getVersionUpgradeStateFactory.spec.js | 158 + ...etVersionUpgradeVoteStatusResponse.spec.js | 145 + ...getVersionUpgradeVoteStatusFactory.spec.js | 166 + packages/rs-dpp/Cargo.toml | 2 +- .../src/block/extended_epoch_info/mod.rs | 60 + .../src/block/extended_epoch_info/v0/mod.rs | 36 + packages/rs-dpp/src/block/mod.rs | 1 + packages/rs-drive-abci/Cargo.toml | 1 + .../rs-drive-abci/src/execution/types/mod.rs | 2 +- packages/rs-drive-abci/src/query/mod.rs | 885 +- .../src/query/response_metadata/v0/mod.rs | 1 + .../src/query/system/epoch_infos/mod.rs | 56 + .../src/query/system/epoch_infos/v0/mod.rs | 125 + .../rs-drive-abci/src/query/system/mod.rs | 3 + .../query/system/version_upgrade_state/mod.rs | 63 + .../system/version_upgrade_state/v0/mod.rs | 83 + .../system/version_upgrade_vote_status/mod.rs | 64 + .../version_upgrade_vote_status/v0/mod.rs | 122 + packages/rs-drive-abci/src/query/v0/mod.rs | 7 + .../tests/strategy_tests/query.rs | 457 + packages/rs-drive/Cargo.toml | 10 +- packages/rs-drive/src/drive/cache.rs | 3 +- .../epochs/get_epochs_infos/mod.rs | 43 + .../epochs/get_epochs_infos/v0/mod.rs | 221 + .../src/drive/credit_pools/epochs/mod.rs | 2 + .../proposers/get_epoch_proposers/v0/mod.rs | 1 + .../epochs/prove_epochs_infos/mod.rs | 42 + .../epochs/prove_epochs_infos/v0/mod.rs | 68 + .../v0/mod.rs | 1 + .../rs-drive/src/drive/credit_pools/mod.rs | 1 + .../rs-drive/src/drive/credit_pools/paths.rs | 14 + .../v0/mod.rs | 1 + .../v0/mod.rs | 1 + .../fetch_pending_epoch_refunds/v0/mod.rs | 1 + .../drive/credit_pools/unpaid_epoch/mod.rs | 6 +- .../grove_get_path_query/v0/mod.rs | 10 +- .../v0/mod.rs | 2 +- .../v0/mod.rs | 2 +- .../grove_get_raw_path_query/v0/mod.rs | 10 +- .../v0/mod.rs | 2 +- .../src/drive/grove_operations/mod.rs | 15 + .../rs-drive/src/drive/identity/fetch/mod.rs | 3 +- .../prove/prove_full_identities/v0/mod.rs | 2 + .../fetch/prove/prove_full_identity/v0/mod.rs | 1 + .../src/drive/identity/withdrawals/queue.rs | 1 + .../identity/withdrawals/transaction_index.rs | 1 + packages/rs-drive/src/drive/mod.rs | 8 +- .../mod.rs | 2 +- .../mod.rs | 52 + .../v0/mod.rs | 49 + .../fetch_proved_versions_with_counter/mod.rs | 46 + .../v0/mod.rs | 29 + .../fetch_validator_version_votes/mod.rs | 54 + .../fetch_validator_version_votes/v0/mod.rs | 77 + .../src/drive/protocol_upgrade/mod.rs | 13 +- .../v0/mod.rs | 1 - packages/rs-drive/src/drive/verify/mod.rs | 3 + .../rs-drive/src/drive/verify/system/mod.rs | 3 + .../verify/system/verify_epoch_infos/mod.rs | 57 + .../system/verify_epoch_infos/v0/mod.rs | 230 + .../verify/system/verify_upgrade_state/mod.rs | 51 + .../system/verify_upgrade_state/v0/mod.rs | 62 + .../system/verify_upgrade_vote_status/mod.rs | 53 + .../verify_upgrade_vote_status/v0/mod.rs | 75 + .../src/version/drive_abci_versions.rs | 8 + .../src/version/drive_versions.rs | 13 + .../src/version/mocks/v2_test.rs | 32 +- .../src/version/mocks/v3_test.rs | 32 +- .../rs-platform-version/src/version/v1.rs | 32 +- 112 files changed, 37665 insertions(+), 15653 deletions(-) create mode 100644 packages/dapi/lib/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.js create mode 100644 packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.js create mode 100644 packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.js create mode 100644 packages/dapi/test/unit/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.spec.js create mode 100644 packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.spec.js create mode 100644 packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.spec.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/VersionEntry.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/GetVersionUpgradeVoteStatusResponse.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/VersionSignal.js create mode 100644 packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/getVersionUpgradeVoteStatusFactory.js create mode 100644 packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js create mode 100644 packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js create mode 100644 packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.spec.js create mode 100644 packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.spec.js create mode 100644 packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/GetVersionUpgradeVoteStatusResponse.spec.js create mode 100644 packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/getVersionUpgradeVoteStatusFactory.spec.js create mode 100644 packages/rs-dpp/src/block/extended_epoch_info/mod.rs create mode 100644 packages/rs-dpp/src/block/extended_epoch_info/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/system/epoch_infos/mod.rs create mode 100644 packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/system/mod.rs create mode 100644 packages/rs-drive-abci/src/query/system/version_upgrade_state/mod.rs create mode 100644 packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs create mode 100644 packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/mod.rs create mode 100644 packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/mod.rs create mode 100644 packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/mod.rs create mode 100644 packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/mod.rs create mode 100644 packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/mod.rs create mode 100644 packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/mod.rs create mode 100644 packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/verify/system/mod.rs create mode 100644 packages/rs-drive/src/drive/verify/system/verify_epoch_infos/mod.rs create mode 100644 packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/verify/system/verify_upgrade_state/mod.rs create mode 100644 packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs create mode 100644 packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/mod.rs create mode 100644 packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs diff --git a/Cargo.lock b/Cargo.lock index 4efc5c08bc..030893224e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1191,7 +1191,7 @@ dependencies = [ "futures", "getrandom", "hex", - "integer-encoding", + "integer-encoding 4.0.0", "itertools", "json-patch", "jsonptr", @@ -1244,7 +1244,7 @@ dependencies = [ "grovedb-storage", "hex", "indexmap 1.9.3", - "integer-encoding", + "integer-encoding 4.0.0", "intmap", "itertools", "lazy_static", @@ -1287,6 +1287,7 @@ dependencies = [ "file-rotate", "hex", "indexmap 1.9.3", + "integer-encoding 4.0.0", "itertools", "lazy_static", "metrics", @@ -1758,7 +1759,7 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "grovedb" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" +source = "git+https://github.com/dashpay/grovedb?rev=67896ea00e697922dd8db29fccbdfddce97a4fe2#67896ea00e697922dd8db29fccbdfddce97a4fe2" dependencies = [ "bincode 1.3.3", "grovedb-costs", @@ -1768,7 +1769,7 @@ dependencies = [ "grovedb-visualize", "hex", "indexmap 1.9.3", - "integer-encoding", + "integer-encoding 3.0.4", "intmap", "itertools", "nohash-hasher", @@ -1780,9 +1781,9 @@ dependencies = [ [[package]] name = "grovedb-costs" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" +source = "git+https://github.com/dashpay/grovedb?rev=67896ea00e697922dd8db29fccbdfddce97a4fe2#67896ea00e697922dd8db29fccbdfddce97a4fe2" dependencies = [ - "integer-encoding", + "integer-encoding 3.0.4", "intmap", "thiserror", ] @@ -1790,7 +1791,7 @@ dependencies = [ [[package]] name = "grovedb-merk" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" +source = "git+https://github.com/dashpay/grovedb?rev=67896ea00e697922dd8db29fccbdfddce97a4fe2#67896ea00e697922dd8db29fccbdfddce97a4fe2" dependencies = [ "blake3", "byteorder", @@ -1803,7 +1804,7 @@ dependencies = [ "grovedb-visualize", "hex", "indexmap 1.9.3", - "integer-encoding", + "integer-encoding 3.0.4", "jemallocator", "num_cpus", "rand", @@ -1814,19 +1815,19 @@ dependencies = [ [[package]] name = "grovedb-path" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" +source = "git+https://github.com/dashpay/grovedb?rev=67896ea00e697922dd8db29fccbdfddce97a4fe2#67896ea00e697922dd8db29fccbdfddce97a4fe2" [[package]] name = "grovedb-storage" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" +source = "git+https://github.com/dashpay/grovedb?rev=67896ea00e697922dd8db29fccbdfddce97a4fe2#67896ea00e697922dd8db29fccbdfddce97a4fe2" dependencies = [ "blake3", "grovedb-costs", "grovedb-path", "grovedb-visualize", "hex", - "integer-encoding", + "integer-encoding 3.0.4", "lazy_static", "num_cpus", "rocksdb", @@ -1838,7 +1839,7 @@ dependencies = [ [[package]] name = "grovedb-visualize" version = "1.0.0-rc.2" -source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" +source = "git+https://github.com/dashpay/grovedb?rev=67896ea00e697922dd8db29fccbdfddce97a4fe2#67896ea00e697922dd8db29fccbdfddce97a4fe2" dependencies = [ "hex", "itertools", @@ -2089,6 +2090,12 @@ version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" +[[package]] +name = "integer-encoding" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924df4f0e24e2e7f9cdd90babb0b96f93b20f3ecfa949ea9e6613756b8c8e1bf" + [[package]] name = "intmap" version = "2.0.0" @@ -2229,7 +2236,7 @@ source = "git+https://github.com/fominok/jsonschema-rs?branch=feat-unevaluated-p dependencies = [ "ahash 0.7.6", "anyhow", - "base64 0.13.1", + "base64 0.21.4", "bytecount", "fancy-regex", "fraction", diff --git a/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java b/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java index c3b046341e..7d4c6fb856 100644 --- a/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java +++ b/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java @@ -480,6 +480,99 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetConsensusParamsResponse> getGetC return getGetConsensusParamsMethod; } + private static volatile io.grpc.MethodDescriptor getGetVersionUpgradeStateMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getVersionUpgradeState", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetVersionUpgradeStateMethod() { + io.grpc.MethodDescriptor getGetVersionUpgradeStateMethod; + if ((getGetVersionUpgradeStateMethod = PlatformGrpc.getGetVersionUpgradeStateMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetVersionUpgradeStateMethod = PlatformGrpc.getGetVersionUpgradeStateMethod) == null) { + PlatformGrpc.getGetVersionUpgradeStateMethod = getGetVersionUpgradeStateMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getVersionUpgradeState")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getVersionUpgradeState")) + .build(); + } + } + } + return getGetVersionUpgradeStateMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetVersionUpgradeVoteStatusMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getVersionUpgradeVoteStatus", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetVersionUpgradeVoteStatusMethod() { + io.grpc.MethodDescriptor getGetVersionUpgradeVoteStatusMethod; + if ((getGetVersionUpgradeVoteStatusMethod = PlatformGrpc.getGetVersionUpgradeVoteStatusMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetVersionUpgradeVoteStatusMethod = PlatformGrpc.getGetVersionUpgradeVoteStatusMethod) == null) { + PlatformGrpc.getGetVersionUpgradeVoteStatusMethod = getGetVersionUpgradeVoteStatusMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getVersionUpgradeVoteStatus")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getVersionUpgradeVoteStatus")) + .build(); + } + } + } + return getGetVersionUpgradeVoteStatusMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetEpochsInfoMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getEpochsInfo", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetEpochsInfoMethod() { + io.grpc.MethodDescriptor getGetEpochsInfoMethod; + if ((getGetEpochsInfoMethod = PlatformGrpc.getGetEpochsInfoMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetEpochsInfoMethod = PlatformGrpc.getGetEpochsInfoMethod) == null) { + PlatformGrpc.getGetEpochsInfoMethod = getGetEpochsInfoMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getEpochsInfo")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getEpochsInfo")) + .build(); + } + } + } + return getGetEpochsInfoMethod; + } + /** * Creates a new async stub that supports all call types for the service */ @@ -633,6 +726,27 @@ public void getConsensusParams(org.dash.platform.dapi.v0.PlatformOuterClass.GetC io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConsensusParamsMethod(), responseObserver); } + /** + */ + public void getVersionUpgradeState(org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetVersionUpgradeStateMethod(), responseObserver); + } + + /** + */ + public void getVersionUpgradeVoteStatus(org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetVersionUpgradeVoteStatusMethod(), responseObserver); + } + + /** + */ + public void getEpochsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetEpochsInfoMethod(), responseObserver); + } + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) .addMethod( @@ -740,6 +854,27 @@ public void getConsensusParams(org.dash.platform.dapi.v0.PlatformOuterClass.GetC org.dash.platform.dapi.v0.PlatformOuterClass.GetConsensusParamsRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetConsensusParamsResponse>( this, METHODID_GET_CONSENSUS_PARAMS))) + .addMethod( + getGetVersionUpgradeStateMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateResponse>( + this, METHODID_GET_VERSION_UPGRADE_STATE))) + .addMethod( + getGetVersionUpgradeVoteStatusMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusResponse>( + this, METHODID_GET_VERSION_UPGRADE_VOTE_STATUS))) + .addMethod( + getGetEpochsInfoMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoResponse>( + this, METHODID_GET_EPOCHS_INFO))) .build(); } } @@ -877,6 +1012,30 @@ public void getConsensusParams(org.dash.platform.dapi.v0.PlatformOuterClass.GetC io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getGetConsensusParamsMethod(), getCallOptions()), request, responseObserver); } + + /** + */ + public void getVersionUpgradeState(org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetVersionUpgradeStateMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getVersionUpgradeVoteStatus(org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetVersionUpgradeVoteStatusMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getEpochsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetEpochsInfoMethod(), getCallOptions()), request, responseObserver); + } } /** @@ -997,6 +1156,27 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetConsensusParamsResponse g return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getGetConsensusParamsMethod(), getCallOptions(), request); } + + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateResponse getVersionUpgradeState(org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetVersionUpgradeStateMethod(), getCallOptions(), request); + } + + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusResponse getVersionUpgradeVoteStatus(org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetVersionUpgradeVoteStatusMethod(), getCallOptions(), request); + } + + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoResponse getEpochsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetEpochsInfoMethod(), getCallOptions(), request); + } } /** @@ -1132,6 +1312,30 @@ public com.google.common.util.concurrent.ListenableFuture getVersionUpgradeState( + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetVersionUpgradeStateMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getVersionUpgradeVoteStatus( + org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetVersionUpgradeVoteStatusMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getEpochsInfo( + org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetEpochsInfoMethod(), getCallOptions()), request); + } } private static final int METHODID_BROADCAST_STATE_TRANSITION = 0; @@ -1149,6 +1353,9 @@ public com.google.common.util.concurrent.ListenableFuture implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -1227,6 +1434,18 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv serviceImpl.getConsensusParams((org.dash.platform.dapi.v0.PlatformOuterClass.GetConsensusParamsRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_VERSION_UPGRADE_STATE: + serviceImpl.getVersionUpgradeState((org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeStateRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_VERSION_UPGRADE_VOTE_STATUS: + serviceImpl.getVersionUpgradeVoteStatus((org.dash.platform.dapi.v0.PlatformOuterClass.GetVersionUpgradeVoteStatusRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_EPOCHS_INFO: + serviceImpl.getEpochsInfo((org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; default: throw new AssertionError(); } @@ -1303,6 +1522,9 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getGetIdentityByPublicKeyHashMethod()) .addMethod(getWaitForStateTransitionResultMethod()) .addMethod(getGetConsensusParamsMethod()) + .addMethod(getGetVersionUpgradeStateMethod()) + .addMethod(getGetVersionUpgradeVoteStatusMethod()) + .addMethod(getGetEpochsInfoMethod()) .build(); } } diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js b/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js index 634d31ca4d..da1497293c 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/PlatformPromiseClient.js @@ -40,6 +40,12 @@ const { WaitForStateTransitionResultResponse: PBJSWaitForStateTransitionResultResponse, GetConsensusParamsRequest: PBJSGetConsensusParamsRequest, GetConsensusParamsResponse: PBJSGetConsensusParamsResponse, + GetEpochsInfoRequest: PBJSGetEpochsInfoRequest, + GetEpochsInfoResponse: PBJSGetEpochsInfoResponse, + GetVersionUpgradeVoteStatusRequest: PBJSGetVersionUpgradeVoteStatusRequest, + GetVersionUpgradeVoteStatusResponse: PBJSGetVersionUpgradeVoteStatusResponse, + GetVersionUpgradeStateRequest: PBJSGetVersionUpgradeStateRequest, + GetVersionUpgradeStateResponse: PBJSGetVersionUpgradeStateResponse, }, }, }, @@ -56,6 +62,9 @@ const { GetIdentitiesByPublicKeyHashesResponse: ProtocGetIdentitiesByPublicKeyHashesResponse, WaitForStateTransitionResultResponse: ProtocWaitForStateTransitionResultResponse, GetConsensusParamsResponse: ProtocGetConsensusParamsResponse, + GetEpochsInfoResponse: ProtocGetEpochsInfoResponse, + GetVersionUpgradeVoteStatusResponse: ProtocGetVersionUpgradeVoteStatusResponse, + GetVersionUpgradeStateResponse: ProtocGetVersionUpgradeStateResponse, } = require('./platform_protoc'); const getPlatformDefinition = require('../../../../lib/getPlatformDefinition'); @@ -114,6 +123,18 @@ class PlatformPromiseClient { this.client.getConsensusParams.bind(this.client), ); + this.client.getEpochsInfo = promisify( + this.client.getEpochsInfo.bind(this.client), + ); + + this.client.getVersionUpgradeVoteStatus = promisify( + this.client.getVersionUpgradeVoteStatus.bind(this.client), + ); + + this.client.getVersionUpgradeState = promisify( + this.client.getVersionUpgradeState.bind(this.client), + ); + this.protocolVersion = undefined; } @@ -374,6 +395,99 @@ class PlatformPromiseClient { ); } + /** + * @param {!GetEpochsInfoRequest} getEpochsInfoRequest + * @param {?Object} metadata + * @param {CallOptions} [options={}] + * @return {Promise} + */ + getEpochsInfo(getEpochsInfoRequest, metadata = {}, options = {}) { + if (!isObject(metadata)) { + throw new Error('metadata must be an object'); + } + + return this.client.getEpochsInfo( + getEpochsInfoRequest, + convertObjectToMetadata(metadata), + { + interceptors: [ + jsonToProtobufInterceptorFactory( + jsonToProtobufFactory( + ProtocGetEpochsInfoResponse, + PBJSGetEpochsInfoResponse, + ), + protobufToJsonFactory( + PBJSGetEpochsInfoRequest, + ), + ), + ], + ...options, + }, + ); + } + + /** + * @param {!GetVersionUpgradeVoteStatusRequest} getVersionUpgradeVoteStatusRequest + * @param {?Object} metadata + * @param {CallOptions} [options={}] + * @return {Promise} + */ + getVersionUpgradeVoteStatus(getVersionUpgradeVoteStatusRequest, metadata = {}, options = {}) { + if (!isObject(metadata)) { + throw new Error('metadata must be an object'); + } + + return this.client.getVersionUpgradeVoteStatus( + getVersionUpgradeVoteStatusRequest, + convertObjectToMetadata(metadata), + { + interceptors: [ + jsonToProtobufInterceptorFactory( + jsonToProtobufFactory( + ProtocGetVersionUpgradeVoteStatusResponse, + PBJSGetVersionUpgradeVoteStatusResponse, + ), + protobufToJsonFactory( + PBJSGetVersionUpgradeVoteStatusRequest, + ), + ), + ], + ...options, + }, + ); + } + + /** + * @param {!GetVersionUpgradeStateRequest} getVersionUpgradeStateRequest + * @param {?Object} metadata + * @param {CallOptions} [options={}] + * @return {Promise} + */ + getVersionUpgradeState(getVersionUpgradeStateRequest, metadata = {}, options = {}) { + if (!isObject(metadata)) { + throw new Error('metadata must be an object'); + } + + return this.client.getVersionUpgradeState( + getVersionUpgradeStateRequest, + convertObjectToMetadata(metadata), + { + interceptors: [ + jsonToProtobufInterceptorFactory( + jsonToProtobufFactory( + ProtocGetVersionUpgradeStateResponse, + PBJSGetVersionUpgradeStateResponse, + ), + protobufToJsonFactory( + PBJSGetVersionUpgradeStateRequest, + ), + ), + ], + ...options, + }, + ); + } + /** * @param {string} protocolVersion */ diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js index 76696b5ae2..bdcb77a285 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js @@ -581,6 +581,105 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getVersionUpgradeState}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getVersionUpgradeStateCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} [response] GetVersionUpgradeStateResponse + */ + + /** + * Calls getVersionUpgradeState. + * @function getVersionUpgradeState + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateRequest} request GetVersionUpgradeStateRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getVersionUpgradeStateCallback} callback Node-style callback called with the error, if any, and GetVersionUpgradeStateResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getVersionUpgradeState = function getVersionUpgradeState(request, callback) { + return this.rpcCall(getVersionUpgradeState, $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest, $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse, request, callback); + }, "name", { value: "getVersionUpgradeState" }); + + /** + * Calls getVersionUpgradeState. + * @function getVersionUpgradeState + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateRequest} request GetVersionUpgradeStateRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getVersionUpgradeVoteStatus}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getVersionUpgradeVoteStatusCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} [response] GetVersionUpgradeVoteStatusResponse + */ + + /** + * Calls getVersionUpgradeVoteStatus. + * @function getVersionUpgradeVoteStatus + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusRequest} request GetVersionUpgradeVoteStatusRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getVersionUpgradeVoteStatusCallback} callback Node-style callback called with the error, if any, and GetVersionUpgradeVoteStatusResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getVersionUpgradeVoteStatus = function getVersionUpgradeVoteStatus(request, callback) { + return this.rpcCall(getVersionUpgradeVoteStatus, $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest, $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse, request, callback); + }, "name", { value: "getVersionUpgradeVoteStatus" }); + + /** + * Calls getVersionUpgradeVoteStatus. + * @function getVersionUpgradeVoteStatus + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusRequest} request GetVersionUpgradeVoteStatusRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getEpochsInfo}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getEpochsInfoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} [response] GetEpochsInfoResponse + */ + + /** + * Calls getEpochsInfo. + * @function getEpochsInfo + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} request GetEpochsInfoRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getEpochsInfoCallback} callback Node-style callback called with the error, if any, and GetEpochsInfoResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getEpochsInfo = function getEpochsInfo(request, callback) { + return this.rpcCall(getEpochsInfo, $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest, $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse, request, callback); + }, "name", { value: "getEpochsInfo" }); + + /** + * Calls getEpochsInfo. + * @function getEpochsInfo + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} request GetEpochsInfoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + return Platform; })(); @@ -926,6 +1025,7 @@ $root.org = (function() { * @interface IResponseMetadata * @property {number|Long|null} [height] ResponseMetadata height * @property {number|null} [coreChainLockedHeight] ResponseMetadata coreChainLockedHeight + * @property {number|null} [epoch] ResponseMetadata epoch * @property {number|Long|null} [timeMs] ResponseMetadata timeMs * @property {number|null} [protocolVersion] ResponseMetadata protocolVersion * @property {string|null} [chainId] ResponseMetadata chainId @@ -962,6 +1062,14 @@ $root.org = (function() { */ ResponseMetadata.prototype.coreChainLockedHeight = 0; + /** + * ResponseMetadata epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.ResponseMetadata + * @instance + */ + ResponseMetadata.prototype.epoch = 0; + /** * ResponseMetadata timeMs. * @member {number|Long} timeMs @@ -1014,12 +1122,14 @@ $root.org = (function() { writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); if (message.coreChainLockedHeight != null && Object.hasOwnProperty.call(message, "coreChainLockedHeight")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.coreChainLockedHeight); + if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.epoch); if (message.timeMs != null && Object.hasOwnProperty.call(message, "timeMs")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.timeMs); + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.timeMs); if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion")) - writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.protocolVersion); + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.protocolVersion); if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.chainId); + writer.uint32(/* id 6, wireType 2 =*/50).string(message.chainId); return writer; }; @@ -1061,12 +1171,15 @@ $root.org = (function() { message.coreChainLockedHeight = reader.uint32(); break; case 3: - message.timeMs = reader.uint64(); + message.epoch = reader.uint32(); break; case 4: - message.protocolVersion = reader.uint32(); + message.timeMs = reader.uint64(); break; case 5: + message.protocolVersion = reader.uint32(); + break; + case 6: message.chainId = reader.string(); break; default: @@ -1110,6 +1223,9 @@ $root.org = (function() { if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight")) if (!$util.isInteger(message.coreChainLockedHeight)) return "coreChainLockedHeight: integer expected"; + if (message.epoch != null && message.hasOwnProperty("epoch")) + if (!$util.isInteger(message.epoch)) + return "epoch: integer expected"; if (message.timeMs != null && message.hasOwnProperty("timeMs")) if (!$util.isInteger(message.timeMs) && !(message.timeMs && $util.isInteger(message.timeMs.low) && $util.isInteger(message.timeMs.high))) return "timeMs: integer|Long expected"; @@ -1145,6 +1261,8 @@ $root.org = (function() { message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); if (object.coreChainLockedHeight != null) message.coreChainLockedHeight = object.coreChainLockedHeight >>> 0; + if (object.epoch != null) + message.epoch = object.epoch >>> 0; if (object.timeMs != null) if ($util.Long) (message.timeMs = $util.Long.fromValue(object.timeMs)).unsigned = true; @@ -1181,6 +1299,7 @@ $root.org = (function() { } else object.height = options.longs === String ? "0" : 0; object.coreChainLockedHeight = 0; + object.epoch = 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.timeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; @@ -1196,6 +1315,8 @@ $root.org = (function() { object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight")) object.coreChainLockedHeight = message.coreChainLockedHeight; + if (message.epoch != null && message.hasOwnProperty("epoch")) + object.epoch = message.epoch; if (message.timeMs != null && message.hasOwnProperty("timeMs")) if (typeof message.timeMs === "number") object.timeMs = options.longs === String ? String(message.timeMs) : message.timeMs; @@ -19857,6 +19978,4135 @@ $root.org = (function() { return GetConsensusParamsResponse; })(); + v0.GetVersionUpgradeStateRequest = (function() { + + /** + * Properties of a GetVersionUpgradeStateRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetVersionUpgradeStateRequest + * @property {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.IGetVersionUpgradeStateRequestV0|null} [v0] GetVersionUpgradeStateRequest v0 + */ + + /** + * Constructs a new GetVersionUpgradeStateRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetVersionUpgradeStateRequest. + * @implements IGetVersionUpgradeStateRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateRequest=} [properties] Properties to set + */ + function GetVersionUpgradeStateRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeStateRequest v0. + * @member {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.IGetVersionUpgradeStateRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @instance + */ + GetVersionUpgradeStateRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetVersionUpgradeStateRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @instance + */ + Object.defineProperty(GetVersionUpgradeStateRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetVersionUpgradeStateRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} GetVersionUpgradeStateRequest instance + */ + GetVersionUpgradeStateRequest.create = function create(properties) { + return new GetVersionUpgradeStateRequest(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateRequest} message GetVersionUpgradeStateRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateRequest} message GetVersionUpgradeStateRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeStateRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} GetVersionUpgradeStateRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeStateRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} GetVersionUpgradeStateRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeStateRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeStateRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetVersionUpgradeStateRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} GetVersionUpgradeStateRequest + */ + GetVersionUpgradeStateRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeStateRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} message GetVersionUpgradeStateRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeStateRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetVersionUpgradeStateRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeStateRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 = (function() { + + /** + * Properties of a GetVersionUpgradeStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @interface IGetVersionUpgradeStateRequestV0 + * @property {boolean|null} [prove] GetVersionUpgradeStateRequestV0 prove + */ + + /** + * Constructs a new GetVersionUpgradeStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest + * @classdesc Represents a GetVersionUpgradeStateRequestV0. + * @implements IGetVersionUpgradeStateRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.IGetVersionUpgradeStateRequestV0=} [properties] Properties to set + */ + function GetVersionUpgradeStateRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeStateRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @instance + */ + GetVersionUpgradeStateRequestV0.prototype.prove = false; + + /** + * Creates a new GetVersionUpgradeStateRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.IGetVersionUpgradeStateRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} GetVersionUpgradeStateRequestV0 instance + */ + GetVersionUpgradeStateRequestV0.create = function create(properties) { + return new GetVersionUpgradeStateRequestV0(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.IGetVersionUpgradeStateRequestV0} message GetVersionUpgradeStateRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.IGetVersionUpgradeStateRequestV0} message GetVersionUpgradeStateRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeStateRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} GetVersionUpgradeStateRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeStateRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} GetVersionUpgradeStateRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeStateRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeStateRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetVersionUpgradeStateRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} GetVersionUpgradeStateRequestV0 + */ + GetVersionUpgradeStateRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0(); + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeStateRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} message GetVersionUpgradeStateRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeStateRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.prove = false; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetVersionUpgradeStateRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeStateRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetVersionUpgradeStateRequestV0; + })(); + + return GetVersionUpgradeStateRequest; + })(); + + v0.GetVersionUpgradeStateResponse = (function() { + + /** + * Properties of a GetVersionUpgradeStateResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetVersionUpgradeStateResponse + * @property {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.IGetVersionUpgradeStateResponseV0|null} [v0] GetVersionUpgradeStateResponse v0 + */ + + /** + * Constructs a new GetVersionUpgradeStateResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetVersionUpgradeStateResponse. + * @implements IGetVersionUpgradeStateResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateResponse=} [properties] Properties to set + */ + function GetVersionUpgradeStateResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeStateResponse v0. + * @member {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.IGetVersionUpgradeStateResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @instance + */ + GetVersionUpgradeStateResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetVersionUpgradeStateResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @instance + */ + Object.defineProperty(GetVersionUpgradeStateResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetVersionUpgradeStateResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} GetVersionUpgradeStateResponse instance + */ + GetVersionUpgradeStateResponse.create = function create(properties) { + return new GetVersionUpgradeStateResponse(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateResponse} message GetVersionUpgradeStateResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeStateResponse} message GetVersionUpgradeStateResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeStateResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} GetVersionUpgradeStateResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeStateResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} GetVersionUpgradeStateResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeStateResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeStateResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetVersionUpgradeStateResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} GetVersionUpgradeStateResponse + */ + GetVersionUpgradeStateResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeStateResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} message GetVersionUpgradeStateResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeStateResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetVersionUpgradeStateResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeStateResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 = (function() { + + /** + * Properties of a GetVersionUpgradeStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @interface IGetVersionUpgradeStateResponseV0 + * @property {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersions|null} [versions] GetVersionUpgradeStateResponseV0 versions + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetVersionUpgradeStateResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetVersionUpgradeStateResponseV0 metadata + */ + + /** + * Constructs a new GetVersionUpgradeStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse + * @classdesc Represents a GetVersionUpgradeStateResponseV0. + * @implements IGetVersionUpgradeStateResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.IGetVersionUpgradeStateResponseV0=} [properties] Properties to set + */ + function GetVersionUpgradeStateResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeStateResponseV0 versions. + * @member {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersions|null|undefined} versions + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @instance + */ + GetVersionUpgradeStateResponseV0.prototype.versions = null; + + /** + * GetVersionUpgradeStateResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @instance + */ + GetVersionUpgradeStateResponseV0.prototype.proof = null; + + /** + * GetVersionUpgradeStateResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @instance + */ + GetVersionUpgradeStateResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetVersionUpgradeStateResponseV0 result. + * @member {"versions"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @instance + */ + Object.defineProperty(GetVersionUpgradeStateResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetVersionUpgradeStateResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.IGetVersionUpgradeStateResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} GetVersionUpgradeStateResponseV0 instance + */ + GetVersionUpgradeStateResponseV0.create = function create(properties) { + return new GetVersionUpgradeStateResponseV0(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.IGetVersionUpgradeStateResponseV0} message GetVersionUpgradeStateResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.versions != null && Object.hasOwnProperty.call(message, "versions")) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.encode(message.versions, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.IGetVersionUpgradeStateResponseV0} message GetVersionUpgradeStateResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeStateResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} GetVersionUpgradeStateResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.versions = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeStateResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} GetVersionUpgradeStateResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeStateResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeStateResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeStateResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.versions != null && message.hasOwnProperty("versions")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.verify(message.versions); + if (error) + return "versions." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetVersionUpgradeStateResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} GetVersionUpgradeStateResponseV0 + */ + GetVersionUpgradeStateResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0(); + if (object.versions != null) { + if (typeof object.versions !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.versions: object expected"); + message.versions = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.fromObject(object.versions); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeStateResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} message GetVersionUpgradeStateResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeStateResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.versions != null && message.hasOwnProperty("versions")) { + object.versions = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.toObject(message.versions, options); + if (options.oneofs) + object.result = "versions"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetVersionUpgradeStateResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeStateResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetVersionUpgradeStateResponseV0.Versions = (function() { + + /** + * Properties of a Versions. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @interface IVersions + * @property {Array.|null} [versions] Versions versions + */ + + /** + * Constructs a new Versions. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @classdesc Represents a Versions. + * @implements IVersions + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set + */ + function Versions(properties) { + this.versions = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Versions versions. + * @member {Array.} versions + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @instance + */ + Versions.prototype.versions = $util.emptyArray; + + /** + * Creates a new Versions instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} Versions instance + */ + Versions.create = function create(properties) { + return new Versions(properties); + }; + + /** + * Encodes the specified Versions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersions} message Versions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Versions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.versions != null && message.versions.length) + for (var i = 0; i < message.versions.length; ++i) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.encode(message.versions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Versions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersions} message Versions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Versions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Versions message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} Versions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Versions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.versions && message.versions.length)) + message.versions = []; + message.versions.push($root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Versions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} Versions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Versions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Versions message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Versions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.versions != null && message.hasOwnProperty("versions")) { + if (!Array.isArray(message.versions)) + return "versions: array expected"; + for (var i = 0; i < message.versions.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.verify(message.versions[i]); + if (error) + return "versions." + error; + } + } + return null; + }; + + /** + * Creates a Versions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} Versions + */ + Versions.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions(); + if (object.versions) { + if (!Array.isArray(object.versions)) + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.versions: array expected"); + message.versions = []; + for (var i = 0; i < object.versions.length; ++i) { + if (typeof object.versions[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.versions: object expected"); + message.versions[i] = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.fromObject(object.versions[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Versions message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} message Versions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Versions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.versions = []; + if (message.versions && message.versions.length) { + object.versions = []; + for (var j = 0; j < message.versions.length; ++j) + object.versions[j] = $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.toObject(message.versions[j], options); + } + return object; + }; + + /** + * Converts this Versions to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions + * @instance + * @returns {Object.} JSON object + */ + Versions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Versions; + })(); + + GetVersionUpgradeStateResponseV0.VersionEntry = (function() { + + /** + * Properties of a VersionEntry. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @interface IVersionEntry + * @property {number|null} [versionNumber] VersionEntry versionNumber + * @property {number|null} [voteCount] VersionEntry voteCount + */ + + /** + * Constructs a new VersionEntry. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 + * @classdesc Represents a VersionEntry. + * @implements IVersionEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set + */ + function VersionEntry(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VersionEntry versionNumber. + * @member {number} versionNumber + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @instance + */ + VersionEntry.prototype.versionNumber = 0; + + /** + * VersionEntry voteCount. + * @member {number} voteCount + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @instance + */ + VersionEntry.prototype.voteCount = 0; + + /** + * Creates a new VersionEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} VersionEntry instance + */ + VersionEntry.create = function create(properties) { + return new VersionEntry(properties); + }; + + /** + * Encodes the specified VersionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.versionNumber != null && Object.hasOwnProperty.call(message, "versionNumber")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.versionNumber); + if (message.voteCount != null && Object.hasOwnProperty.call(message, "voteCount")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.voteCount); + return writer; + }; + + /** + * Encodes the specified VersionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VersionEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} VersionEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionEntry.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.versionNumber = reader.uint32(); + break; + case 2: + message.voteCount = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VersionEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} VersionEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VersionEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VersionEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) + if (!$util.isInteger(message.versionNumber)) + return "versionNumber: integer expected"; + if (message.voteCount != null && message.hasOwnProperty("voteCount")) + if (!$util.isInteger(message.voteCount)) + return "voteCount: integer expected"; + return null; + }; + + /** + * Creates a VersionEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} VersionEntry + */ + VersionEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry(); + if (object.versionNumber != null) + message.versionNumber = object.versionNumber >>> 0; + if (object.voteCount != null) + message.voteCount = object.voteCount >>> 0; + return message; + }; + + /** + * Creates a plain object from a VersionEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} message VersionEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VersionEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.versionNumber = 0; + object.voteCount = 0; + } + if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) + object.versionNumber = message.versionNumber; + if (message.voteCount != null && message.hasOwnProperty("voteCount")) + object.voteCount = message.voteCount; + return object; + }; + + /** + * Converts this VersionEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry + * @instance + * @returns {Object.} JSON object + */ + VersionEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VersionEntry; + })(); + + return GetVersionUpgradeStateResponseV0; + })(); + + return GetVersionUpgradeStateResponse; + })(); + + v0.GetVersionUpgradeVoteStatusRequest = (function() { + + /** + * Properties of a GetVersionUpgradeVoteStatusRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetVersionUpgradeVoteStatusRequest + * @property {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.IGetVersionUpgradeVoteStatusRequestV0|null} [v0] GetVersionUpgradeVoteStatusRequest v0 + */ + + /** + * Constructs a new GetVersionUpgradeVoteStatusRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetVersionUpgradeVoteStatusRequest. + * @implements IGetVersionUpgradeVoteStatusRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusRequest=} [properties] Properties to set + */ + function GetVersionUpgradeVoteStatusRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeVoteStatusRequest v0. + * @member {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.IGetVersionUpgradeVoteStatusRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @instance + */ + GetVersionUpgradeVoteStatusRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetVersionUpgradeVoteStatusRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @instance + */ + Object.defineProperty(GetVersionUpgradeVoteStatusRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetVersionUpgradeVoteStatusRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} GetVersionUpgradeVoteStatusRequest instance + */ + GetVersionUpgradeVoteStatusRequest.create = function create(properties) { + return new GetVersionUpgradeVoteStatusRequest(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusRequest} message GetVersionUpgradeVoteStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusRequest} message GetVersionUpgradeVoteStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} GetVersionUpgradeVoteStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} GetVersionUpgradeVoteStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeVoteStatusRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeVoteStatusRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetVersionUpgradeVoteStatusRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} GetVersionUpgradeVoteStatusRequest + */ + GetVersionUpgradeVoteStatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeVoteStatusRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} message GetVersionUpgradeVoteStatusRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeVoteStatusRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetVersionUpgradeVoteStatusRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeVoteStatusRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 = (function() { + + /** + * Properties of a GetVersionUpgradeVoteStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @interface IGetVersionUpgradeVoteStatusRequestV0 + * @property {Uint8Array|null} [startProTxHash] GetVersionUpgradeVoteStatusRequestV0 startProTxHash + * @property {number|null} [count] GetVersionUpgradeVoteStatusRequestV0 count + * @property {boolean|null} [prove] GetVersionUpgradeVoteStatusRequestV0 prove + */ + + /** + * Constructs a new GetVersionUpgradeVoteStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest + * @classdesc Represents a GetVersionUpgradeVoteStatusRequestV0. + * @implements IGetVersionUpgradeVoteStatusRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.IGetVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set + */ + function GetVersionUpgradeVoteStatusRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeVoteStatusRequestV0 startProTxHash. + * @member {Uint8Array} startProTxHash + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @instance + */ + GetVersionUpgradeVoteStatusRequestV0.prototype.startProTxHash = $util.newBuffer([]); + + /** + * GetVersionUpgradeVoteStatusRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @instance + */ + GetVersionUpgradeVoteStatusRequestV0.prototype.count = 0; + + /** + * GetVersionUpgradeVoteStatusRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @instance + */ + GetVersionUpgradeVoteStatusRequestV0.prototype.prove = false; + + /** + * Creates a new GetVersionUpgradeVoteStatusRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.IGetVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} GetVersionUpgradeVoteStatusRequestV0 instance + */ + GetVersionUpgradeVoteStatusRequestV0.create = function create(properties) { + return new GetVersionUpgradeVoteStatusRequestV0(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.IGetVersionUpgradeVoteStatusRequestV0} message GetVersionUpgradeVoteStatusRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startProTxHash != null && Object.hasOwnProperty.call(message, "startProTxHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startProTxHash); + if (message.count != null && Object.hasOwnProperty.call(message, "count")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.count); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.IGetVersionUpgradeVoteStatusRequestV0} message GetVersionUpgradeVoteStatusRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} GetVersionUpgradeVoteStatusRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startProTxHash = reader.bytes(); + break; + case 2: + message.count = reader.uint32(); + break; + case 3: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} GetVersionUpgradeVoteStatusRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeVoteStatusRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeVoteStatusRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startProTxHash != null && message.hasOwnProperty("startProTxHash")) + if (!(message.startProTxHash && typeof message.startProTxHash.length === "number" || $util.isString(message.startProTxHash))) + return "startProTxHash: buffer expected"; + if (message.count != null && message.hasOwnProperty("count")) + if (!$util.isInteger(message.count)) + return "count: integer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetVersionUpgradeVoteStatusRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} GetVersionUpgradeVoteStatusRequestV0 + */ + GetVersionUpgradeVoteStatusRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0(); + if (object.startProTxHash != null) + if (typeof object.startProTxHash === "string") + $util.base64.decode(object.startProTxHash, message.startProTxHash = $util.newBuffer($util.base64.length(object.startProTxHash)), 0); + else if (object.startProTxHash.length >= 0) + message.startProTxHash = object.startProTxHash; + if (object.count != null) + message.count = object.count >>> 0; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeVoteStatusRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} message GetVersionUpgradeVoteStatusRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeVoteStatusRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.startProTxHash = ""; + else { + object.startProTxHash = []; + if (options.bytes !== Array) + object.startProTxHash = $util.newBuffer(object.startProTxHash); + } + object.count = 0; + object.prove = false; + } + if (message.startProTxHash != null && message.hasOwnProperty("startProTxHash")) + object.startProTxHash = options.bytes === String ? $util.base64.encode(message.startProTxHash, 0, message.startProTxHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.startProTxHash) : message.startProTxHash; + if (message.count != null && message.hasOwnProperty("count")) + object.count = message.count; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetVersionUpgradeVoteStatusRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeVoteStatusRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetVersionUpgradeVoteStatusRequestV0; + })(); + + return GetVersionUpgradeVoteStatusRequest; + })(); + + v0.GetVersionUpgradeVoteStatusResponse = (function() { + + /** + * Properties of a GetVersionUpgradeVoteStatusResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetVersionUpgradeVoteStatusResponse + * @property {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.IGetVersionUpgradeVoteStatusResponseV0|null} [v0] GetVersionUpgradeVoteStatusResponse v0 + */ + + /** + * Constructs a new GetVersionUpgradeVoteStatusResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetVersionUpgradeVoteStatusResponse. + * @implements IGetVersionUpgradeVoteStatusResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusResponse=} [properties] Properties to set + */ + function GetVersionUpgradeVoteStatusResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeVoteStatusResponse v0. + * @member {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.IGetVersionUpgradeVoteStatusResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @instance + */ + GetVersionUpgradeVoteStatusResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetVersionUpgradeVoteStatusResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @instance + */ + Object.defineProperty(GetVersionUpgradeVoteStatusResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetVersionUpgradeVoteStatusResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} GetVersionUpgradeVoteStatusResponse instance + */ + GetVersionUpgradeVoteStatusResponse.create = function create(properties) { + return new GetVersionUpgradeVoteStatusResponse(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusResponse} message GetVersionUpgradeVoteStatusResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetVersionUpgradeVoteStatusResponse} message GetVersionUpgradeVoteStatusResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} GetVersionUpgradeVoteStatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} GetVersionUpgradeVoteStatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeVoteStatusResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeVoteStatusResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetVersionUpgradeVoteStatusResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} GetVersionUpgradeVoteStatusResponse + */ + GetVersionUpgradeVoteStatusResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeVoteStatusResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} message GetVersionUpgradeVoteStatusResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeVoteStatusResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetVersionUpgradeVoteStatusResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeVoteStatusResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 = (function() { + + /** + * Properties of a GetVersionUpgradeVoteStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @interface IGetVersionUpgradeVoteStatusResponseV0 + * @property {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignals|null} [versions] GetVersionUpgradeVoteStatusResponseV0 versions + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetVersionUpgradeVoteStatusResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetVersionUpgradeVoteStatusResponseV0 metadata + */ + + /** + * Constructs a new GetVersionUpgradeVoteStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse + * @classdesc Represents a GetVersionUpgradeVoteStatusResponseV0. + * @implements IGetVersionUpgradeVoteStatusResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.IGetVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set + */ + function GetVersionUpgradeVoteStatusResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetVersionUpgradeVoteStatusResponseV0 versions. + * @member {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignals|null|undefined} versions + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @instance + */ + GetVersionUpgradeVoteStatusResponseV0.prototype.versions = null; + + /** + * GetVersionUpgradeVoteStatusResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @instance + */ + GetVersionUpgradeVoteStatusResponseV0.prototype.proof = null; + + /** + * GetVersionUpgradeVoteStatusResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @instance + */ + GetVersionUpgradeVoteStatusResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetVersionUpgradeVoteStatusResponseV0 result. + * @member {"versions"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @instance + */ + Object.defineProperty(GetVersionUpgradeVoteStatusResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetVersionUpgradeVoteStatusResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.IGetVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} GetVersionUpgradeVoteStatusResponseV0 instance + */ + GetVersionUpgradeVoteStatusResponseV0.create = function create(properties) { + return new GetVersionUpgradeVoteStatusResponseV0(properties); + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.IGetVersionUpgradeVoteStatusResponseV0} message GetVersionUpgradeVoteStatusResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.versions != null && Object.hasOwnProperty.call(message, "versions")) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.encode(message.versions, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetVersionUpgradeVoteStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.IGetVersionUpgradeVoteStatusResponseV0} message GetVersionUpgradeVoteStatusResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetVersionUpgradeVoteStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} GetVersionUpgradeVoteStatusResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.versions = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} GetVersionUpgradeVoteStatusResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetVersionUpgradeVoteStatusResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetVersionUpgradeVoteStatusResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetVersionUpgradeVoteStatusResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.versions != null && message.hasOwnProperty("versions")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.verify(message.versions); + if (error) + return "versions." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetVersionUpgradeVoteStatusResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} GetVersionUpgradeVoteStatusResponseV0 + */ + GetVersionUpgradeVoteStatusResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0(); + if (object.versions != null) { + if (typeof object.versions !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.versions: object expected"); + message.versions = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.fromObject(object.versions); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetVersionUpgradeVoteStatusResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} message GetVersionUpgradeVoteStatusResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetVersionUpgradeVoteStatusResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.versions != null && message.hasOwnProperty("versions")) { + object.versions = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(message.versions, options); + if (options.oneofs) + object.result = "versions"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetVersionUpgradeVoteStatusResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetVersionUpgradeVoteStatusResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetVersionUpgradeVoteStatusResponseV0.VersionSignals = (function() { + + /** + * Properties of a VersionSignals. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @interface IVersionSignals + * @property {Array.|null} [versionSignals] VersionSignals versionSignals + */ + + /** + * Constructs a new VersionSignals. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @classdesc Represents a VersionSignals. + * @implements IVersionSignals + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set + */ + function VersionSignals(properties) { + this.versionSignals = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VersionSignals versionSignals. + * @member {Array.} versionSignals + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @instance + */ + VersionSignals.prototype.versionSignals = $util.emptyArray; + + /** + * Creates a new VersionSignals instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals instance + */ + VersionSignals.create = function create(properties) { + return new VersionSignals(properties); + }; + + /** + * Encodes the specified VersionSignals message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionSignals.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.versionSignals != null && message.versionSignals.length) + for (var i = 0; i < message.versionSignals.length; ++i) + $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.encode(message.versionSignals[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VersionSignals message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionSignals.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VersionSignals message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionSignals.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.versionSignals && message.versionSignals.length)) + message.versionSignals = []; + message.versionSignals.push($root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VersionSignals message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionSignals.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VersionSignals message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VersionSignals.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.versionSignals != null && message.hasOwnProperty("versionSignals")) { + if (!Array.isArray(message.versionSignals)) + return "versionSignals: array expected"; + for (var i = 0; i < message.versionSignals.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.verify(message.versionSignals[i]); + if (error) + return "versionSignals." + error; + } + } + return null; + }; + + /** + * Creates a VersionSignals message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + */ + VersionSignals.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals(); + if (object.versionSignals) { + if (!Array.isArray(object.versionSignals)) + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.versionSignals: array expected"); + message.versionSignals = []; + for (var i = 0; i < object.versionSignals.length; ++i) { + if (typeof object.versionSignals[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.versionSignals: object expected"); + message.versionSignals[i] = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.fromObject(object.versionSignals[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a VersionSignals message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} message VersionSignals + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VersionSignals.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.versionSignals = []; + if (message.versionSignals && message.versionSignals.length) { + object.versionSignals = []; + for (var j = 0; j < message.versionSignals.length; ++j) + object.versionSignals[j] = $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(message.versionSignals[j], options); + } + return object; + }; + + /** + * Converts this VersionSignals to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals + * @instance + * @returns {Object.} JSON object + */ + VersionSignals.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VersionSignals; + })(); + + GetVersionUpgradeVoteStatusResponseV0.VersionSignal = (function() { + + /** + * Properties of a VersionSignal. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @interface IVersionSignal + * @property {Uint8Array|null} [proTxHash] VersionSignal proTxHash + * @property {number|null} [version] VersionSignal version + */ + + /** + * Constructs a new VersionSignal. + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 + * @classdesc Represents a VersionSignal. + * @implements IVersionSignal + * @constructor + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set + */ + function VersionSignal(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VersionSignal proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @instance + */ + VersionSignal.prototype.proTxHash = $util.newBuffer([]); + + /** + * VersionSignal version. + * @member {number} version + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @instance + */ + VersionSignal.prototype.version = 0; + + /** + * Creates a new VersionSignal instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal instance + */ + VersionSignal.create = function create(properties) { + return new VersionSignal(properties); + }; + + /** + * Encodes the specified VersionSignal message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionSignal.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.proTxHash != null && Object.hasOwnProperty.call(message, "proTxHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.proTxHash); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.version); + return writer; + }; + + /** + * Encodes the specified VersionSignal message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionSignal.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VersionSignal message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionSignal.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proTxHash = reader.bytes(); + break; + case 2: + message.version = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VersionSignal message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionSignal.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VersionSignal message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VersionSignal.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.proTxHash != null && message.hasOwnProperty("proTxHash")) + if (!(message.proTxHash && typeof message.proTxHash.length === "number" || $util.isString(message.proTxHash))) + return "proTxHash: buffer expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isInteger(message.version)) + return "version: integer expected"; + return null; + }; + + /** + * Creates a VersionSignal message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + */ + VersionSignal.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal(); + if (object.proTxHash != null) + if (typeof object.proTxHash === "string") + $util.base64.decode(object.proTxHash, message.proTxHash = $util.newBuffer($util.base64.length(object.proTxHash)), 0); + else if (object.proTxHash.length >= 0) + message.proTxHash = object.proTxHash; + if (object.version != null) + message.version = object.version >>> 0; + return message; + }; + + /** + * Creates a plain object from a VersionSignal message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} message VersionSignal + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VersionSignal.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.proTxHash = ""; + else { + object.proTxHash = []; + if (options.bytes !== Array) + object.proTxHash = $util.newBuffer(object.proTxHash); + } + object.version = 0; + } + if (message.proTxHash != null && message.hasOwnProperty("proTxHash")) + object.proTxHash = options.bytes === String ? $util.base64.encode(message.proTxHash, 0, message.proTxHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.proTxHash) : message.proTxHash; + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + return object; + }; + + /** + * Converts this VersionSignal to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal + * @instance + * @returns {Object.} JSON object + */ + VersionSignal.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VersionSignal; + })(); + + return GetVersionUpgradeVoteStatusResponseV0; + })(); + + return GetVersionUpgradeVoteStatusResponse; + })(); + + v0.GetEpochsInfoRequest = (function() { + + /** + * Properties of a GetEpochsInfoRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetEpochsInfoRequest + * @property {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null} [v0] GetEpochsInfoRequest v0 + */ + + /** + * Constructs a new GetEpochsInfoRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetEpochsInfoRequest. + * @implements IGetEpochsInfoRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set + */ + function GetEpochsInfoRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetEpochsInfoRequest v0. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @instance + */ + GetEpochsInfoRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetEpochsInfoRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @instance + */ + Object.defineProperty(GetEpochsInfoRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetEpochsInfoRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest instance + */ + GetEpochsInfoRequest.create = function create(properties) { + return new GetEpochsInfoRequest(properties); + }; + + /** + * Encodes the specified GetEpochsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetEpochsInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetEpochsInfoRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetEpochsInfoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetEpochsInfoRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEpochsInfoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetEpochsInfoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest + */ + GetEpochsInfoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetEpochsInfoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest} message GetEpochsInfoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEpochsInfoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetEpochsInfoRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @instance + * @returns {Object.} JSON object + */ + GetEpochsInfoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetEpochsInfoRequest.GetEpochsInfoRequestV0 = (function() { + + /** + * Properties of a GetEpochsInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @interface IGetEpochsInfoRequestV0 + * @property {google.protobuf.IUInt32Value|null} [startEpoch] GetEpochsInfoRequestV0 startEpoch + * @property {number|null} [count] GetEpochsInfoRequestV0 count + * @property {boolean|null} [ascending] GetEpochsInfoRequestV0 ascending + * @property {boolean|null} [prove] GetEpochsInfoRequestV0 prove + */ + + /** + * Constructs a new GetEpochsInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @classdesc Represents a GetEpochsInfoRequestV0. + * @implements IGetEpochsInfoRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set + */ + function GetEpochsInfoRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetEpochsInfoRequestV0 startEpoch. + * @member {google.protobuf.IUInt32Value|null|undefined} startEpoch + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @instance + */ + GetEpochsInfoRequestV0.prototype.startEpoch = null; + + /** + * GetEpochsInfoRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @instance + */ + GetEpochsInfoRequestV0.prototype.count = 0; + + /** + * GetEpochsInfoRequestV0 ascending. + * @member {boolean} ascending + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @instance + */ + GetEpochsInfoRequestV0.prototype.ascending = false; + + /** + * GetEpochsInfoRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @instance + */ + GetEpochsInfoRequestV0.prototype.prove = false; + + /** + * Creates a new GetEpochsInfoRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 instance + */ + GetEpochsInfoRequestV0.create = function create(properties) { + return new GetEpochsInfoRequestV0(properties); + }; + + /** + * Encodes the specified GetEpochsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startEpoch != null && Object.hasOwnProperty.call(message, "startEpoch")) + $root.google.protobuf.UInt32Value.encode(message.startEpoch, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.count != null && Object.hasOwnProperty.call(message, "count")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.count); + if (message.ascending != null && Object.hasOwnProperty.call(message, "ascending")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.ascending); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetEpochsInfoRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startEpoch = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + break; + case 2: + message.count = reader.uint32(); + break; + case 3: + message.ascending = reader.bool(); + break; + case 4: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetEpochsInfoRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEpochsInfoRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startEpoch != null && message.hasOwnProperty("startEpoch")) { + var error = $root.google.protobuf.UInt32Value.verify(message.startEpoch); + if (error) + return "startEpoch." + error; + } + if (message.count != null && message.hasOwnProperty("count")) + if (!$util.isInteger(message.count)) + return "count: integer expected"; + if (message.ascending != null && message.hasOwnProperty("ascending")) + if (typeof message.ascending !== "boolean") + return "ascending: boolean expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetEpochsInfoRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + */ + GetEpochsInfoRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0(); + if (object.startEpoch != null) { + if (typeof object.startEpoch !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.startEpoch: object expected"); + message.startEpoch = $root.google.protobuf.UInt32Value.fromObject(object.startEpoch); + } + if (object.count != null) + message.count = object.count >>> 0; + if (object.ascending != null) + message.ascending = Boolean(object.ascending); + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetEpochsInfoRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEpochsInfoRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startEpoch = null; + object.count = 0; + object.ascending = false; + object.prove = false; + } + if (message.startEpoch != null && message.hasOwnProperty("startEpoch")) + object.startEpoch = $root.google.protobuf.UInt32Value.toObject(message.startEpoch, options); + if (message.count != null && message.hasOwnProperty("count")) + object.count = message.count; + if (message.ascending != null && message.hasOwnProperty("ascending")) + object.ascending = message.ascending; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetEpochsInfoRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetEpochsInfoRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetEpochsInfoRequestV0; + })(); + + return GetEpochsInfoRequest; + })(); + + v0.GetEpochsInfoResponse = (function() { + + /** + * Properties of a GetEpochsInfoResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetEpochsInfoResponse + * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null} [v0] GetEpochsInfoResponse v0 + */ + + /** + * Constructs a new GetEpochsInfoResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetEpochsInfoResponse. + * @implements IGetEpochsInfoResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set + */ + function GetEpochsInfoResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetEpochsInfoResponse v0. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @instance + */ + GetEpochsInfoResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetEpochsInfoResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @instance + */ + Object.defineProperty(GetEpochsInfoResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetEpochsInfoResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse instance + */ + GetEpochsInfoResponse.create = function create(properties) { + return new GetEpochsInfoResponse(properties); + }; + + /** + * Encodes the specified GetEpochsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetEpochsInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetEpochsInfoResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetEpochsInfoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetEpochsInfoResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEpochsInfoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetEpochsInfoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse + */ + GetEpochsInfoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetEpochsInfoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} message GetEpochsInfoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEpochsInfoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetEpochsInfoResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @instance + * @returns {Object.} JSON object + */ + GetEpochsInfoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetEpochsInfoResponse.GetEpochsInfoResponseV0 = (function() { + + /** + * Properties of a GetEpochsInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @interface IGetEpochsInfoResponseV0 + * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null} [epochs] GetEpochsInfoResponseV0 epochs + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetEpochsInfoResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetEpochsInfoResponseV0 metadata + */ + + /** + * Constructs a new GetEpochsInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @classdesc Represents a GetEpochsInfoResponseV0. + * @implements IGetEpochsInfoResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set + */ + function GetEpochsInfoResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetEpochsInfoResponseV0 epochs. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null|undefined} epochs + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @instance + */ + GetEpochsInfoResponseV0.prototype.epochs = null; + + /** + * GetEpochsInfoResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @instance + */ + GetEpochsInfoResponseV0.prototype.proof = null; + + /** + * GetEpochsInfoResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @instance + */ + GetEpochsInfoResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetEpochsInfoResponseV0 result. + * @member {"epochs"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @instance + */ + Object.defineProperty(GetEpochsInfoResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetEpochsInfoResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 instance + */ + GetEpochsInfoResponseV0.create = function create(properties) { + return new GetEpochsInfoResponseV0(properties); + }; + + /** + * Encodes the specified GetEpochsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.epochs != null && Object.hasOwnProperty.call(message, "epochs")) + $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.encode(message.epochs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetEpochsInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetEpochsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetEpochsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetEpochsInfoResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetEpochsInfoResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.epochs != null && message.hasOwnProperty("epochs")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify(message.epochs); + if (error) + return "epochs." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetEpochsInfoResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + */ + GetEpochsInfoResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0(); + if (object.epochs != null) { + if (typeof object.epochs !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.epochs: object expected"); + message.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.fromObject(object.epochs); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetEpochsInfoResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetEpochsInfoResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.epochs != null && message.hasOwnProperty("epochs")) { + object.epochs = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(message.epochs, options); + if (options.oneofs) + object.result = "epochs"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetEpochsInfoResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetEpochsInfoResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetEpochsInfoResponseV0.EpochInfos = (function() { + + /** + * Properties of an EpochInfos. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @interface IEpochInfos + * @property {Array.|null} [epochInfos] EpochInfos epochInfos + */ + + /** + * Constructs a new EpochInfos. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @classdesc Represents an EpochInfos. + * @implements IEpochInfos + * @constructor + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set + */ + function EpochInfos(properties) { + this.epochInfos = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EpochInfos epochInfos. + * @member {Array.} epochInfos + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @instance + */ + EpochInfos.prototype.epochInfos = $util.emptyArray; + + /** + * Creates a new EpochInfos instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos instance + */ + EpochInfos.create = function create(properties) { + return new EpochInfos(properties); + }; + + /** + * Encodes the specified EpochInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EpochInfos.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.epochInfos != null && message.epochInfos.length) + for (var i = 0; i < message.epochInfos.length; ++i) + $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.encode(message.epochInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EpochInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EpochInfos.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EpochInfos message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EpochInfos.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.epochInfos && message.epochInfos.length)) + message.epochInfos = []; + message.epochInfos.push($root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EpochInfos message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EpochInfos.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EpochInfos message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EpochInfos.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.epochInfos != null && message.hasOwnProperty("epochInfos")) { + if (!Array.isArray(message.epochInfos)) + return "epochInfos: array expected"; + for (var i = 0; i < message.epochInfos.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.verify(message.epochInfos[i]); + if (error) + return "epochInfos." + error; + } + } + return null; + }; + + /** + * Creates an EpochInfos message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + */ + EpochInfos.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos(); + if (object.epochInfos) { + if (!Array.isArray(object.epochInfos)) + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.epochInfos: array expected"); + message.epochInfos = []; + for (var i = 0; i < object.epochInfos.length; ++i) { + if (typeof object.epochInfos[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.epochInfos: object expected"); + message.epochInfos[i] = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.fromObject(object.epochInfos[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EpochInfos message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message EpochInfos + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EpochInfos.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.epochInfos = []; + if (message.epochInfos && message.epochInfos.length) { + object.epochInfos = []; + for (var j = 0; j < message.epochInfos.length; ++j) + object.epochInfos[j] = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject(message.epochInfos[j], options); + } + return object; + }; + + /** + * Converts this EpochInfos to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @instance + * @returns {Object.} JSON object + */ + EpochInfos.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EpochInfos; + })(); + + GetEpochsInfoResponseV0.EpochInfo = (function() { + + /** + * Properties of an EpochInfo. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @interface IEpochInfo + * @property {number|null} [number] EpochInfo number + * @property {number|Long|null} [firstBlockHeight] EpochInfo firstBlockHeight + * @property {number|null} [firstCoreBlockHeight] EpochInfo firstCoreBlockHeight + * @property {number|Long|null} [startTime] EpochInfo startTime + * @property {number|null} [feeMultiplier] EpochInfo feeMultiplier + */ + + /** + * Constructs a new EpochInfo. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @classdesc Represents an EpochInfo. + * @implements IEpochInfo + * @constructor + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo=} [properties] Properties to set + */ + function EpochInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EpochInfo number. + * @member {number} number + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.number = 0; + + /** + * EpochInfo firstBlockHeight. + * @member {number|Long} firstBlockHeight + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.firstBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * EpochInfo firstCoreBlockHeight. + * @member {number} firstCoreBlockHeight + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.firstCoreBlockHeight = 0; + + /** + * EpochInfo startTime. + * @member {number|Long} startTime + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * EpochInfo feeMultiplier. + * @member {number} feeMultiplier + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.feeMultiplier = 0; + + /** + * Creates a new EpochInfo instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo instance + */ + EpochInfo.create = function create(properties) { + return new EpochInfo(properties); + }; + + /** + * Encodes the specified EpochInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo} message EpochInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EpochInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.number); + if (message.firstBlockHeight != null && Object.hasOwnProperty.call(message, "firstBlockHeight")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.firstBlockHeight); + if (message.firstCoreBlockHeight != null && Object.hasOwnProperty.call(message, "firstCoreBlockHeight")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.firstCoreBlockHeight); + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.startTime); + if (message.feeMultiplier != null && Object.hasOwnProperty.call(message, "feeMultiplier")) + writer.uint32(/* id 5, wireType 1 =*/41).double(message.feeMultiplier); + return writer; + }; + + /** + * Encodes the specified EpochInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo} message EpochInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EpochInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EpochInfo message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EpochInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.number = reader.uint32(); + break; + case 2: + message.firstBlockHeight = reader.uint64(); + break; + case 3: + message.firstCoreBlockHeight = reader.uint32(); + break; + case 4: + message.startTime = reader.uint64(); + break; + case 5: + message.feeMultiplier = reader.double(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EpochInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EpochInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EpochInfo message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EpochInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.firstBlockHeight != null && message.hasOwnProperty("firstBlockHeight")) + if (!$util.isInteger(message.firstBlockHeight) && !(message.firstBlockHeight && $util.isInteger(message.firstBlockHeight.low) && $util.isInteger(message.firstBlockHeight.high))) + return "firstBlockHeight: integer|Long expected"; + if (message.firstCoreBlockHeight != null && message.hasOwnProperty("firstCoreBlockHeight")) + if (!$util.isInteger(message.firstCoreBlockHeight)) + return "firstCoreBlockHeight: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) + if (!$util.isInteger(message.startTime) && !(message.startTime && $util.isInteger(message.startTime.low) && $util.isInteger(message.startTime.high))) + return "startTime: integer|Long expected"; + if (message.feeMultiplier != null && message.hasOwnProperty("feeMultiplier")) + if (typeof message.feeMultiplier !== "number") + return "feeMultiplier: number expected"; + return null; + }; + + /** + * Creates an EpochInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + */ + EpochInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo(); + if (object.number != null) + message.number = object.number >>> 0; + if (object.firstBlockHeight != null) + if ($util.Long) + (message.firstBlockHeight = $util.Long.fromValue(object.firstBlockHeight)).unsigned = true; + else if (typeof object.firstBlockHeight === "string") + message.firstBlockHeight = parseInt(object.firstBlockHeight, 10); + else if (typeof object.firstBlockHeight === "number") + message.firstBlockHeight = object.firstBlockHeight; + else if (typeof object.firstBlockHeight === "object") + message.firstBlockHeight = new $util.LongBits(object.firstBlockHeight.low >>> 0, object.firstBlockHeight.high >>> 0).toNumber(true); + if (object.firstCoreBlockHeight != null) + message.firstCoreBlockHeight = object.firstCoreBlockHeight >>> 0; + if (object.startTime != null) + if ($util.Long) + (message.startTime = $util.Long.fromValue(object.startTime)).unsigned = true; + else if (typeof object.startTime === "string") + message.startTime = parseInt(object.startTime, 10); + else if (typeof object.startTime === "number") + message.startTime = object.startTime; + else if (typeof object.startTime === "object") + message.startTime = new $util.LongBits(object.startTime.low >>> 0, object.startTime.high >>> 0).toNumber(true); + if (object.feeMultiplier != null) + message.feeMultiplier = Number(object.feeMultiplier); + return message; + }; + + /** + * Creates a plain object from an EpochInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @static + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} message EpochInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EpochInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.number = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.firstBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.firstBlockHeight = options.longs === String ? "0" : 0; + object.firstCoreBlockHeight = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.startTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.startTime = options.longs === String ? "0" : 0; + object.feeMultiplier = 0; + } + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.firstBlockHeight != null && message.hasOwnProperty("firstBlockHeight")) + if (typeof message.firstBlockHeight === "number") + object.firstBlockHeight = options.longs === String ? String(message.firstBlockHeight) : message.firstBlockHeight; + else + object.firstBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.firstBlockHeight) : options.longs === Number ? new $util.LongBits(message.firstBlockHeight.low >>> 0, message.firstBlockHeight.high >>> 0).toNumber(true) : message.firstBlockHeight; + if (message.firstCoreBlockHeight != null && message.hasOwnProperty("firstCoreBlockHeight")) + object.firstCoreBlockHeight = message.firstCoreBlockHeight; + if (message.startTime != null && message.hasOwnProperty("startTime")) + if (typeof message.startTime === "number") + object.startTime = options.longs === String ? String(message.startTime) : message.startTime; + else + object.startTime = options.longs === String ? $util.Long.prototype.toString.call(message.startTime) : options.longs === Number ? new $util.LongBits(message.startTime.low >>> 0, message.startTime.high >>> 0).toNumber(true) : message.startTime; + if (message.feeMultiplier != null && message.hasOwnProperty("feeMultiplier")) + object.feeMultiplier = options.json && !isFinite(message.feeMultiplier) ? String(message.feeMultiplier) : message.feeMultiplier; + return object; + }; + + /** + * Converts this EpochInfo to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + * @returns {Object.} JSON object + */ + EpochInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EpochInfo; + })(); + + return GetEpochsInfoResponseV0; + })(); + + return GetEpochsInfoResponse; + })(); + return v0; })(); diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js index 709bb14fb2..29decc3505 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js @@ -66,6 +66,15 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocum goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase', null, { proto }); @@ -132,6 +141,24 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase' goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.Proof', null, { proto }); @@ -1891,6 +1918,4590 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo'; +} + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { + var f, obj = { + grovedbProof: msg.getGrovedbProof_asB64(), + quorumHash: msg.getQuorumHash_asB64(), + signature: msg.getSignature_asB64(), + round: jspb.Message.getFieldWithDefault(msg, 4, 0), + blockIdHash: msg.getBlockIdHash_asB64(), + quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.Proof; + return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setGrovedbProof(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setQuorumHash(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setSignature(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setRound(value); + break; + case 5: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setBlockIdHash(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setQuorumType(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getGrovedbProof_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getQuorumHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } + f = message.getSignature_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getRound(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getBlockIdHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 5, + f + ); + } + f = message.getQuorumType(); + if (f !== 0) { + writer.writeUint32( + 6, + f + ); + } +}; + + +/** + * optional bytes grovedb_proof = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes grovedb_proof = 1; + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getGrovedbProof())); +}; + + +/** + * optional bytes grovedb_proof = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getGrovedbProof())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bytes quorum_hash = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes quorum_hash = 2; + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getQuorumHash())); +}; + + +/** + * optional bytes quorum_hash = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getQuorumHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); +}; + + +/** + * optional bytes signature = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes signature = 3; + * This is a type-conversion wrapper around `getSignature()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getSignature())); +}; + + +/** + * optional bytes signature = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getSignature()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getSignature())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + +/** + * optional uint32 round = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bytes block_id_hash = 5; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * optional bytes block_id_hash = 5; + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getBlockIdHash())); +}; + + +/** + * optional bytes block_id_hash = 5; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getBlockIdHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); +}; + + +/** + * optional uint32 quorum_type = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { + var f, obj = { + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), + epoch: jspb.Message.getFieldWithDefault(msg, 3, 0), + timeMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + protocolVersion: jspb.Message.getFieldWithDefault(msg, 5, 0), + chainId: jspb.Message.getFieldWithDefault(msg, 6, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setHeight(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreChainLockedHeight(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setTimeMs(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setProtocolVersion(value); + break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.setChainId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getHeight(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getCoreChainLockedHeight(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getEpoch(); + if (f !== 0) { + writer.writeUint32( + 3, + f + ); + } + f = message.getTimeMs(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getProtocolVersion(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = message.getChainId(); + if (f.length > 0) { + writer.writeString( + 6, + f + ); + } +}; + + +/** + * optional uint64 height = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint32 core_chain_locked_height = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional uint32 epoch = 3; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setEpoch = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional uint64 time_ms = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional uint32 protocol_version = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * optional string chain_id = 6; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { + return jspb.Message.setProto3StringField(this, 6, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { + var f, obj = { + code: jspb.Message.getFieldWithDefault(msg, 1, 0), + message: jspb.Message.getFieldWithDefault(msg, 2, ""), + data: msg.getData_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCode(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMessage(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setData(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCode(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getMessage(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getData_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } +}; + + +/** + * optional uint32 code = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional string message = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bytes data = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes data = 3; + * This is a type-conversion wrapper around `getData()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getData())); +}; + + +/** + * optional bytes data = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getData()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getData())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + stateTransition: msg.getStateTransition_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStateTransition(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getStateTransition_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes state_transition = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes state_transition = 1; + * This is a type-conversion wrapper around `getStateTransition()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStateTransition())); +}; + + +/** + * optional bytes state_transition = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStateTransition()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStateTransition())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceAndRevisionRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes identity = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); +}; + + +/** + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasIdentity = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentityResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * repeated bytes ids = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); +}; + + +/** + * repeated bytes ids = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentitiesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { + var f, obj = { + value: msg.getValue_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes value = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes value = 1; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); +}; + + +/** + * optional bytes value = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { + var f, obj = { + key: msg.getKey_asB64(), + value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setKey(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getKey_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getValue(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes key = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes key = 1; + * This is a type-conversion wrapper around `getKey()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getKey())); +}; + + +/** + * optional bytes key = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getKey()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getKey())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional IdentityValue value = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { + var f, obj = { + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentityEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated IdentityEntry identity_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); + msg.setIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional Identities identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentitiesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0])); +}; @@ -1907,8 +6518,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(opt_includeInstance, this); }; @@ -1917,18 +6528,15 @@ proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeI * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - grovedbProof: msg.getGrovedbProof_asB64(), - quorumHash: msg.getQuorumHash_asB64(), - signature: msg.getSignature_asB64(), - round: jspb.Message.getFieldWithDefault(msg, 4, 0), - blockIdHash: msg.getBlockIdHash_asB64(), - quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -1942,23 +6550,23 @@ proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.Proof; - return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1966,28 +6574,18 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setGrovedbProof(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); break; case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setQuorumHash(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setSignature(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setRound(value); - break; - case 5: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setBlockIdHash(value); - break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setQuorumType(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -2002,9 +6600,9 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2012,261 +6610,210 @@ proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getGrovedbProof_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( 1, f ); } - f = message.getQuorumHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getSignature_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f - ); - } - f = message.getRound(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getBlockIdHash_asU8(); - if (f.length > 0) { - writer.writeBytes( - 5, - f - ); - } - f = message.getQuorumType(); - if (f !== 0) { - writer.writeUint32( - 6, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes grovedb_proof = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes grovedb_proof = 1; - * This is a type-conversion wrapper around `getGrovedbProof()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getGrovedbProof())); -}; - - -/** - * optional bytes grovedb_proof = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getGrovedbProof()` - * @return {!Uint8Array} + * optional uint64 balance = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getGrovedbProof())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setBalance = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bytes quorum_hash = 2; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearBalance = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], undefined); }; /** - * optional bytes quorum_hash = 2; - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getQuorumHash())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasBalance = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bytes quorum_hash = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {!Uint8Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getQuorumHash())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bytes signature = 3; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bytes signature = 3; - * This is a type-conversion wrapper around `getSignature()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getSignature())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes signature = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getSignature()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getSignature())); + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * optional uint32 round = 4; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional bytes block_id_hash = 5; - * @return {string} + * optional GetIdentityBalanceResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, 1)); }; /** - * optional bytes block_id_hash = 5; - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getBlockIdHash())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); }; /** - * optional bytes block_id_hash = 5; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getBlockIdHash())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { - return jspb.Message.setProto3BytesField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional uint32 quorum_type = 6; - * @return {number} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1]]; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); +}; @@ -2283,8 +6830,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); }; @@ -2293,17 +6840,13 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), - timeMs: jspb.Message.getFieldWithDefault(msg, 3, 0), - protocolVersion: jspb.Message.getFieldWithDefault(msg, 4, 0), - chainId: jspb.Message.getFieldWithDefault(msg, 5, "") + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -2317,209 +6860,103 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setHeight(value); - break; - case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCoreChainLockedHeight(value); - break; - case 3: - var value = /** @type {number} */ (reader.readUint64()); - msg.setTimeMs(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setProtocolVersion(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.setChainId(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getCoreChainLockedHeight(); - if (f !== 0) { - writer.writeUint32( - 2, - f - ); - } - f = message.getTimeMs(); - if (f !== 0) { - writer.writeUint64( - 3, - f - ); - } - f = message.getProtocolVersion(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getChainId(); - if (f.length > 0) { - writer.writeString( - 5, - f - ); - } -}; - - -/** - * optional uint64 height = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional uint32 core_chain_locked_height = 2; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); -}; - - -/** - * optional uint64 time_ms = 3; - * @return {number} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional uint32 protocol_version = 4; - * @return {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter + ); + } }; + /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_ = [[1,2]]; /** - * optional string chain_id = 5; - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE_AND_REVISION: 1, + PROOF: 2 }; - /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -2533,8 +6970,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(opt_includeInstance, this); }; @@ -2543,15 +6980,15 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - code: jspb.Message.getFieldWithDefault(msg, 1, 0), - message: jspb.Message.getFieldWithDefault(msg, 2, ""), - data: msg.getData_asB64() + balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -2565,23 +7002,23 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2589,16 +7026,19 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCode(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader); + msg.setBalanceAndRevision(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMessage(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setData(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -2613,9 +7053,9 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2623,114 +7063,39 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getCode(); - if (f !== 0) { - writer.writeUint32( + f = message.getBalanceAndRevision(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter ); } - f = message.getMessage(); - if (f.length > 0) { - writer.writeString( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getData_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; -/** - * optional uint32 code = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional string message = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bytes data = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * optional bytes data = 3; - * This is a type-conversion wrapper around `getData()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getData())); -}; - - -/** - * optional bytes data = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getData()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getData())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); -}; - - @@ -2747,8 +7112,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(opt_includeInstance, this); }; @@ -2757,13 +7122,14 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObje * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject = function(includeInstance, msg) { var f, obj = { - stateTransition: msg.getStateTransition_asB64() + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + revision: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -2777,23 +7143,23 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = funct /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2801,8 +7167,12 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransition(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setRevision(value); break; default: reader.skipField(); @@ -2817,9 +7187,9 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2827,304 +7197,240 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serial /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransition_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getBalance(); + if (f !== 0) { + writer.writeUint64( 1, f ); } + f = message.getRevision(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } }; /** - * optional bytes state_transition = 1; - * @return {string} + * optional uint64 balance = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes state_transition = 1; - * This is a type-conversion wrapper around `getStateTransition()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setBalance = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional bytes state_transition = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransition()` - * @return {!Uint8Array} + * optional uint64 revision = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getRevision = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setRevision = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; +/** + * optional BalanceAndRevision balance_and_revision = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getBalanceAndRevision = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, 1)); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setBalanceAndRevision = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { - var f, obj = { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearBalanceAndRevision = function() { + return this.setBalanceAndRevision(undefined); +}; - }; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasBalanceAndRevision = function() { + return jspb.Message.getField(this, 1) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityBalanceAndRevisionResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, 1)); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - +proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { + REQUEST_NOT_SET: 0, + ALL_KEYS: 1, + SPECIFIC_KEYS: 2, + SEARCH_KEY: 3 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + */ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); +}; @@ -3141,8 +7447,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); }; @@ -3151,14 +7457,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototyp * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), + specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), + searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) }; if (includeInstance) { @@ -3172,23 +7479,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; + return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3196,12 +7503,19 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserial var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + var value = new proto.org.dash.platform.dapi.v0.AllKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); + msg.setAllKeys(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); + msg.setSpecificKeys(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.SearchKey; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); + msg.setSearchKey(value); break; default: reader.skipField(); @@ -3216,9 +7530,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserial * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3226,114 +7540,138 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototyp /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getAllKeys(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getSpecificKeys(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter + ); + } + f = message.getSearchKey(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter ); } }; /** - * optional bytes id = 1; - * @return {string} + * optional AllKeys all_keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} + * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { + return this.setAllKeys(undefined); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + * optional SpecificKeys specific_keys = 2; + * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { + return this.setSpecificKeys(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetIdentityRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + * optional SearchKey search_key = 3; + * @return {?proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, 1)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { + return this.setSearchKey(undefined); }; @@ -3341,37 +7679,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function( * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { + return jspb.Message.getField(this, 3) != null; }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -3387,8 +7700,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); }; @@ -3397,13 +7710,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(includeInstance, f) + }; if (includeInstance) { @@ -3417,34 +7730,29 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.AllKeys; + return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; default: reader.skipField(); break; @@ -3458,9 +7766,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3468,24 +7776,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} message + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter - ); - } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -3501,8 +7808,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); }; @@ -3511,14 +7818,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f }; if (includeInstance) { @@ -3532,23 +7838,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; + return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3556,12 +7862,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); + for (var i = 0; i < values.length; i++) { + msg.addKeyIds(values[i]); + } break; default: reader.skipField(); @@ -3576,9 +7880,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3586,154 +7890,62 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); + f = message.getKeyIdsList(); if (f.length > 0) { - writer.writeBytes( + writer.writePackedUint32( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } -}; - - -/** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetIdentityBalanceRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + * repeated uint32 key_ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { + return this.setKeyIdsList([]); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3747,8 +7959,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); }; @@ -3757,13 +7969,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(includeInstance, f) + purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] }; if (includeInstance) { @@ -3777,23 +7989,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SearchKey; + return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3801,9 +8013,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = msg.getPurposeMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); + }); break; default: reader.skipField(); @@ -3818,9 +8031,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3828,23 +8041,41 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} message + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter - ); + f = message.getPurposeMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); } }; +/** + * map purpose_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + proto.org.dash.platform.dapi.v0.SecurityLevelMap)); +}; + + +/** + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this + */ +proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { + this.getPurposeMapMap().clear(); + return this;}; + + @@ -3861,8 +8092,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); }; @@ -3871,14 +8102,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] }; if (includeInstance) { @@ -3892,23 +8122,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3916,12 +8146,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = msg.getSecurityLevelMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); + }); break; default: reader.skipField(); @@ -3936,9 +8164,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3946,124 +8174,47 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); + f = message.getSecurityLevelMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); } }; /** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetIdentityBalanceAndRevisionRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { + CURRENT_KEY_OF_KIND_REQUEST: 0, + ALL_KEYS_OF_KIND_REQUEST: 1 }; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this + * map security_level_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + null)); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; -}; +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { + this.getSecurityLevelMapMap().clear(); + return this;}; @@ -4075,21 +8226,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.h * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0])); }; @@ -4107,8 +8258,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); }; @@ -4117,13 +8268,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -4137,23 +8288,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4161,8 +8312,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -4178,9 +8329,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4188,50 +8339,24 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITY: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -4247,8 +8372,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(opt_includeInstance, this); }; @@ -4257,15 +8382,17 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -4279,23 +8406,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4304,17 +8431,26 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deseri switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + msg.setIdentityId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); + msg.setRequestType(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 4: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -4329,9 +8465,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4339,123 +8475,249 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); - if (f != null) { + f = message.getIdentityId_asU8(); + if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getProof(); + f = message.getRequestType(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getLimit(); if (f != null) { writer.writeMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getOffset(); + if (f != null) { + writer.writeMessage( + 4, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; /** - * optional bytes identity = 1; + * optional bytes identity_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); +}; + + +/** + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional KeyRequestType request_type = 2; + * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getRequestType = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setRequestType = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearRequestType = function() { + return this.setRequestType(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasRequestType = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional google.protobuf.UInt32Value limit = 3; + * @return {?proto.google.protobuf.UInt32Value} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +}; + + +/** + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasLimit = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional google.protobuf.UInt32Value offset = 4; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); }; /** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 4, value); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * Returns whether this field is set. + * optional bool prove = 5; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasIdentity = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * optional GetIdentityKeysRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -4463,82 +8725,147 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional GetIdentityResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter + ); + } }; @@ -4551,21 +8878,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + KEYS: 1, + PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0])); }; @@ -4583,8 +8911,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(opt_includeInstance, this); }; @@ -4593,13 +8921,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(includeInstance, f) + keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -4613,23 +8943,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4637,9 +8967,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader); + msg.setKeys(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -4654,9 +8994,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4664,18 +9004,34 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = message.getKeys(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; @@ -4687,7 +9043,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = f * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_ = [1]; @@ -4704,8 +9060,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(opt_includeInstance, this); }; @@ -4714,14 +9070,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + keysBytesList: msg.getKeysBytesList_asB64() }; if (includeInstance) { @@ -4735,23 +9090,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toOb /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4760,11 +9115,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.dese switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.addKeysBytes(value); break; default: reader.skipField(); @@ -4779,9 +9130,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.dese * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4789,67 +9140,60 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getKeysBytesList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } }; /** - * repeated bytes ids = 1; + * repeated bytes keys_bytes = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` + * repeated bytes keys_bytes = 1; + * This is a type-conversion wrapper around `getKeysBytesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); + this.getKeysBytesList())); }; /** - * repeated bytes ids = 1; + * repeated bytes keys_bytes = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` + * This is a type-conversion wrapper around `getKeysBytesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); + this.getKeysBytesList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setIdsList = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.setKeysBytesList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -4857,370 +9201,195 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prot /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.addIds = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.addKeysBytes = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.clearIdsList = function() { - return this.setIdsList([]); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.clearKeysBytesList = function() { + return this.setKeysBytesList([]); }; /** - * optional GetIdentitiesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + * optional Keys keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearKeys = function() { + return this.setKeys(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasKeys = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter - ); - } + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { - var f, obj = { - value: msg.getValue_asB64() - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityKeysResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, 1)); }; /** - * optional bytes value = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes value = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; +/** + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); +}; @@ -5237,8 +9406,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); }; @@ -5247,14 +9416,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { - var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) +proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -5268,23 +9436,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5292,13 +9460,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -5313,9 +9477,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5323,116 +9487,30 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); + f = message.getV0(); if (f != null) { writer.writeMessage( - 2, + 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes key = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); -}; - - -/** - * optional bytes key = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional IdentityValue value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; -}; - - /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3]; @@ -5449,8 +9527,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); }; @@ -5459,14 +9537,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), + contractsList: jspb.Message.toObjectList(msg.getContractsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), + documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance) }; if (includeInstance) { @@ -5480,23 +9562,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5504,9 +9586,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); - msg.addIdentityEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); + msg.addIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); + msg.addContracts(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); + msg.addDocuments(value); break; default: reader.skipField(); @@ -5521,9 +9613,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5531,87 +9623,39 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityEntriesList(); + f = message.getIdentitiesList(); if (f.length > 0) { writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + ); + } + f = message.getContractsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + ); + } + f = message.getDocumentsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter ); } }; - -/** - * repeated IdentityEntry identity_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { - return this.setIdentityEntriesList([]); -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0])); -}; + @@ -5628,8 +9672,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); }; @@ -5638,15 +9682,16 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.pr * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + contractId: msg.getContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + documentId: msg.getDocumentId_asB64() }; if (includeInstance) { @@ -5660,23 +9705,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.to /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5684,19 +9729,20 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.de var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); - msg.setIdentities(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDocumentTypeKeepsHistory(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocumentId(value); break; default: reader.skipField(); @@ -5711,9 +9757,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.de * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5721,215 +9767,166 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.pr /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentities(); - if (f != null) { - writer.writeMessage( + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getDocumentTypeKeepsHistory(); + if (f) { + writer.writeBool( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = message.getDocumentId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f ); } }; /** - * optional Identities identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearIdentities = function() { - return this.setIdentities(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} + * optional bytes contract_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional string document_type = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Returns whether this field is set. + * optional bool document_type_keeps_history = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; -}; - - -/** - * optional GetIdentitiesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes document_id = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional bytes document_id = 4; + * This is a type-conversion wrapper around `getDocumentId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocumentId())); +}; + /** - * @enum {number} + * optional bytes document_id = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocumentId())); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -5943,8 +9940,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); }; @@ -5953,13 +9950,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -5973,23 +9971,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5997,9 +9995,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); + msg.setRequestType(value); break; default: reader.skipField(); @@ -6014,9 +10015,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6024,52 +10025,101 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getRequestType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f ); } }; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { + FULL_IDENTITY: 0, + BALANCE: 1, + KEYS: 2 +}; /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional bytes identity_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + /** - * @enum {number} + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional Type request_type = 2; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -6083,8 +10133,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); }; @@ -6093,15 +10143,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceRes * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - balance: jspb.Message.getFieldWithDefault(msg, 1, 0), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + contractId: msg.getContractId_asB64() }; if (includeInstance) { @@ -6115,23 +10163,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceRes /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6139,357 +10187,238 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceRes var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setBalance(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); break; default: reader.skipField(); break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = /** @type {number} */ (jspb.Message.getField(message, 1)); - if (f != null) { - writer.writeUint64( - 1, - f - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } -}; - - -/** - * optional uint64 balance = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getBalance = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); + } + } + return msg; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setBalance = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearBalance = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes contract_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasBalance = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * repeated IdentityRequest identities = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { + return this.setIdentitiesList([]); }; /** - * optional GetIdentityBalanceResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} + * repeated ContractRequest contracts = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { + return this.setContractsList([]); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * repeated DocumentRequest documents = 3; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} + * optional GetProofsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -6502,22 +10431,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeB * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE_AND_REVISION: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); }; @@ -6535,8 +10463,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); }; @@ -6545,15 +10473,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { var f, obj = { - balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -6567,23 +10493,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6591,19 +10517,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader); - msg.setBalanceAndRevision(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -6618,9 +10534,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6628,34 +10544,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getBalanceAndRevision(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter ); } }; @@ -6677,8 +10577,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); }; @@ -6687,14 +10587,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - balance: jspb.Message.getFieldWithDefault(msg, 1, 0), - revision: jspb.Message.getFieldWithDefault(msg, 2, 0) + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -6708,180 +10608,111 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setBalance(value); - break; - case 2: - var value = /** @type {number} */ (reader.readUint64()); - msg.setRevision(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBalance(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getRevision(); - if (f !== 0) { - writer.writeUint64( - 2, - f - ); - } -}; - - -/** - * optional uint64 balance = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getBalance = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setBalance = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional uint64 revision = 2; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getRevision = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setRevision = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); -}; - - -/** - * optional BalanceAndRevision balance_and_revision = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getBalanceAndRevision = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setBalanceAndRevision = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearBalanceAndRevision = function() { - return this.setBalanceAndRevision(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasBalanceAndRevision = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Proof proof = 2; + * optional Proof proof = 1; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); }; /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -6890,35 +10721,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional ResponseMetadata metadata = 3; + * optional ResponseMetadata metadata = 2; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); }; /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -6927,35 +10758,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetIdentityBalanceAndRevisionResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + * optional GetProofsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -6964,7 +10795,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -6978,23 +10809,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype. * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { - REQUEST_NOT_SET: 0, - ALL_KEYS: 1, - SPECIFIC_KEYS: 2, - SEARCH_KEY: 3 +proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); }; @@ -7012,8 +10841,122 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); }; @@ -7022,15 +10965,14 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), - specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), - searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -7044,23 +10986,23 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; - return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7068,19 +11010,12 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.AllKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); - msg.setAllKeys(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); - msg.setSpecificKeys(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.SearchKey; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); - msg.setSearchKey(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -7095,9 +11030,9 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7105,258 +11040,151 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getAllKeys(); - if (f != null) { - writer.writeMessage( + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter + f ); } - f = message.getSpecificKeys(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter - ); - } - f = message.getSearchKey(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter + f ); } }; /** - * optional AllKeys all_keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.AllKeys} - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this -*/ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { - return this.setAllKeys(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional SpecificKeys specific_keys = 2; - * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this -*/ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { - return this.setSpecificKeys(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * optional SearchKey search_key = 3; - * @return {?proto.org.dash.platform.dapi.v0.SearchKey} + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this -*/ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { - return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { - return this.setSearchKey(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * Returns whether this field is set. + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { - return jspb.Message.getField(this, 3) != null; -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} + * optional GetDataContractRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.AllKeys; - return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} - */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +}; @@ -7373,8 +11201,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); }; @@ -7383,13 +11211,13 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_i * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { var f, obj = { - keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7403,23 +11231,23 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; - return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7427,10 +11255,9 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct var field = reader.getFieldNumber(); switch (field) { case 1: - var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); - for (var i = 0; i < values.length; i++) { - msg.addKeyIds(values[i]); - } + var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -7445,9 +11272,9 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7455,62 +11282,52 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = functio /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeyIdsList(); - if (f.length > 0) { - writer.writePackedUint32( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter ); } }; -/** - * repeated uint32 key_ids = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; /** - * @param {number} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACT: 1, + PROOF: 2 }; - /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { - return this.setKeyIdsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -7524,8 +11341,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); }; @@ -7534,13 +11351,15 @@ proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_incl * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] + dataContract: msg.getDataContract_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -7554,23 +11373,23 @@ proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, m /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SearchKey; - return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7578,10 +11397,18 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getPurposeMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDataContract(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -7593,193 +11420,220 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes data_contract = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes data_contract = 1; + * This is a type-conversion wrapper around `getDataContract()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDataContract())); +}; + + +/** + * optional bytes data_contract = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDataContract()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDataContract())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPurposeMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); - } +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); }; /** - * map purpose_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - proto.org.dash.platform.dapi.v0.SecurityLevelMap)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { - this.getPurposeMapMap().clear(); - return this;}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { - var f, obj = { - securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} - */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = msg.getSecurityLevelMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); - }); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getSecurityLevelMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); - } +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @enum {number} + * optional GetDataContractResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { - CURRENT_KEY_OF_KIND_REQUEST: 0, - ALL_KEYS_OF_KIND_REQUEST: 1 +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); }; + /** - * map security_level_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - null)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { - this.getSecurityLevelMapMap().clear(); - return this;}; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; @@ -7791,21 +11645,21 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMap * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); }; @@ -7823,8 +11677,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); }; @@ -7833,13 +11687,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7853,23 +11707,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7877,8 +11731,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -7894,9 +11748,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7904,24 +11758,31 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter ); } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -7937,8 +11798,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); }; @@ -7947,17 +11808,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -7971,23 +11829,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7996,24 +11854,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); + msg.addIds(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); - msg.setRequestType(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 4: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 5: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -8030,9 +11873,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8040,47 +11883,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = message.getRequestType(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 4, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } f = message.getProve(); if (f) { writer.writeBool( - 5, + 2, f ); } @@ -8088,146 +11907,109 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. /** - * optional bytes identity_id = 1; - * @return {string} + * repeated bytes ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * optional bytes identity_id = 1; + * repeated bytes ids = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional KeyRequestType request_type = 2; - * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getRequestType = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setRequestType = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearRequestType = function() { - return this.setRequestType(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * Returns whether this field is set. + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasRequestType = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional google.protobuf.UInt32Value limit = 3; - * @return {?proto.google.protobuf.UInt32Value} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); -}; - - -/** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasLimit = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional google.protobuf.UInt32Value offset = 4; - * @return {?proto.google.protobuf.UInt32Value} + * optional GetDataContractsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -8235,94 +12017,153 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasOffset = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional bool prove = 5; - * @return {boolean} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * optional GetIdentityKeysRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0], value); + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -8336,8 +12177,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); }; @@ -8346,13 +12187,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(includeInstance, f) + identifier: msg.getIdentifier_asB64(), + dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -8366,23 +12208,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8390,9 +12232,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentifier(value); + break; + case 2: + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setDataContract(value); break; default: reader.skipField(); @@ -8407,9 +12253,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8417,49 +12263,116 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = message.getIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getDataContract(); if (f != null) { writer.writeMessage( - 1, + 2, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; +/** + * optional bytes identifier = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentifier())); +}; + /** - * @enum {number} + * optional bytes identifier = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentifier()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - KEYS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentifier())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional google.protobuf.BytesValue data_contract = 2; + * @return {?proto.google.protobuf.BytesValue} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); +}; + + +/** + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { + return this.setDataContract(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 2) != null; }; + + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; @@ -8476,8 +12389,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); }; @@ -8486,15 +12399,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { var f, obj = { - keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) }; if (includeInstance) { @@ -8508,23 +12420,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8532,19 +12444,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader); - msg.setKeys(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -8559,9 +12461,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8569,46 +12471,87 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeys(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter ); } }; +/** + * repeated DataContractEntry data_contract_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACTS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); +}; @@ -8625,8 +12568,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); }; @@ -8635,13 +12578,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - keysBytesList: msg.getKeysBytesList_asB64() + dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -8655,158 +12600,125 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addKeysBytes(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getKeysBytesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } -}; - - -/** - * repeated bytes keys_bytes = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - - -/** - * repeated bytes keys_bytes = 1; - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getKeysBytesList())); -}; - - -/** - * repeated bytes keys_bytes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getKeysBytesList())); + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.setKeysBytesList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); + msg.setDataContracts(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.addKeysBytes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.clearKeysBytesList = function() { - return this.setKeysBytesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDataContracts(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Keys keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} + * optional DataContracts data_contracts = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearKeys = function() { - return this.setKeys(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { + return this.setDataContracts(undefined); }; @@ -8814,7 +12726,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasKeys = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { return jspb.Message.getField(this, 1) != null; }; @@ -8823,7 +12735,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -8831,18 +12743,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -8851,7 +12763,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -8860,7 +12772,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -8868,18 +12780,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -8888,194 +12800,73 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetIdentityKeysResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * optional GetDataContractsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3]; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); +}; @@ -9092,8 +12883,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); }; @@ -9102,18 +12893,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), - contractsList: jspb.Message.toObjectList(msg.getContractsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), - documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9127,23 +12913,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9151,19 +12937,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); - msg.addIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); - msg.addContracts(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); - msg.addDocuments(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9178,9 +12954,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9188,34 +12964,18 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter - ); - } - f = message.getContractsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter - ); - } - f = message.getDocumentsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter ); } }; @@ -9237,8 +12997,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); }; @@ -9247,16 +13007,17 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - documentId: msg.getDocumentId_asB64() + id: msg.getId_asB64(), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -9270,23 +13031,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9295,19 +13056,25 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + msg.setId(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); break; case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setDocumentTypeKeepsHistory(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); break; case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocumentId(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartAtMs(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -9322,9 +13089,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9332,359 +13099,269 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( + f = message.getLimit(); + if (f != null) { + writer.writeMessage( 2, - f + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getDocumentTypeKeepsHistory(); - if (f) { - writer.writeBool( + f = message.getOffset(); + if (f != null) { + writer.writeMessage( 3, - f + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getDocumentId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getStartAtMs(); + if (f !== 0) { + writer.writeUint64( 4, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f + ); + } }; /** - * optional bytes contract_id = 1; + * optional bytes id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + this.getId())); }; /** - * optional bytes contract_id = 1; + * optional bytes id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` + * This is a type-conversion wrapper around `getId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); + this.getId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional string document_type = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); }; /** - * optional bool document_type_keeps_history = 3; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; /** - * optional bytes document_id = 4; - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes document_id = 4; - * This is a type-conversion wrapper around `getDocumentId()` - * @return {string} + * optional google.protobuf.UInt32Value offset = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDocumentId())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); }; /** - * optional bytes document_id = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocumentId())); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional uint64 start_at_ms = 4; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { - var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * optional bool prove = 5; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); - msg.setRequestType(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetDataContractHistoryRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getRequestType(); - if (f !== 0.0) { - writer.writeEnum( - 2, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { - FULL_IDENTITY: 0, - BALANCE: 1, - KEYS: 2 -}; - -/** - * optional bytes identity_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes identity_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; /** - * optional Type request_type = 2; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -9698,8 +13375,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); }; @@ -9708,13 +13385,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9728,23 +13405,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9752,8 +13429,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9768,9 +13446,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9778,243 +13456,194 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes contract_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); -}; - - -/** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * repeated IdentityRequest identities = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); -}; - - -/** - * repeated ContractRequest contracts = 2; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 2, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); -}; - /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { - return this.setContractsList([]); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; /** - * repeated DocumentRequest documents = 3; - * @return {!Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACT_HISTORY: 1, + PROOF: 2 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); }; -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional GetProofsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); + msg.setDataContractHistory(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDataContractHistory(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -10028,8 +13657,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); }; @@ -10038,13 +13667,14 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) + date: jspb.Message.getFieldWithDefault(msg, 1, 0), + value: msg.getValue_asB64() }; if (includeInstance) { @@ -10058,23 +13688,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10082,9 +13712,12 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setDate(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); break; default: reader.skipField(); @@ -10099,9 +13732,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10109,23 +13742,96 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDate(); + if (f !== 0) { + writer.writeUint64( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f ); } }; +/** + * optional uint64 date = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional bytes value = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes value = 2; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); +}; + + +/** + * optional bytes value = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; @@ -10142,8 +13848,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); }; @@ -10152,14 +13858,14 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { var f, obj = { - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) }; if (includeInstance) { @@ -10173,23 +13879,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10197,14 +13903,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -10219,9 +13920,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10229,55 +13930,122 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter ); } }; /** - * optional Proof proof = 1; + * repeated DataContractHistoryEntry data_contract_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); +}; + + +/** + * optional DataContractHistory data_contract_history = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { + return this.setDataContractHistory(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -10286,35 +14054,35 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 2; + * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -10323,35 +14091,35 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetProofsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * optional GetDataContractHistoryResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -10360,7 +14128,7 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -10374,21 +14142,21 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); }; @@ -10406,8 +14174,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); }; @@ -10416,13 +14184,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -10436,23 +14204,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10460,8 +14228,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -10477,9 +14245,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10487,24 +14255,50 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 6, + START_AT: 7 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10520,8 +14314,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); }; @@ -10530,14 +14324,20 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + dataContractId: msg.getDataContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + where: msg.getWhere_asB64(), + orderBy: msg.getOrderBy_asB64(), + limit: jspb.Message.getFieldWithDefault(msg, 5, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) }; if (includeInstance) { @@ -10551,23 +14351,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10576,9 +14376,33 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + msg.setDataContractId(value); break; case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setWhere(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setOrderBy(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 6: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 7: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 8: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -10595,9 +14419,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10605,23 +14429,65 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); + f = message.getDataContractId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getWhere_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getOrderBy_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getLimit(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + if (f != null) { + writer.writeBytes( + 6, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + if (f != null) { + writer.writeBytes( + 7, + f + ); + } f = message.getProve(); if (f) { writer.writeBool( - 2, + 8, f ); } @@ -10629,455 +14495,275 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** - * optional bytes id = 1; + * optional bytes data_contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` + * optional bytes data_contract_id = 1; + * This is a type-conversion wrapper around `getDataContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); + this.getDataContractId())); }; /** - * optional bytes id = 1; + * optional bytes data_contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` + * This is a type-conversion wrapper around `getDataContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); + this.getDataContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetDataContractRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * optional string document_type = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes where = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} + * optional bytes where = 3; + * This is a type-conversion wrapper around `getWhere()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWhere())); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes where = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getWhere()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWhere())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * optional bytes order_by = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * optional bytes order_by = 4; + * This is a type-conversion wrapper around `getOrderBy()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getOrderBy())); }; /** - * Serializes the message to binary data (in protobuf wire format). + * optional bytes order_by = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getOrderBy()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getOrderBy())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; - /** - * @enum {number} + * optional uint32 limit = 5; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACT: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes start_after = 6; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional bytes start_after = 6; + * This is a type-conversion wrapper around `getStartAfter()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - dataContract: msg.getDataContract_asB64(), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * optional bytes start_after = 6; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAfter()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContract(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); - if (f != null) { - writer.writeBytes( - 1, - f - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * optional bytes data_contract = 1; + * optional bytes start_at = 7; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** - * optional bytes data_contract = 1; - * This is a type-conversion wrapper around `getDataContract()` + * optional bytes start_at = 7; + * This is a type-conversion wrapper around `getStartAt()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContract())); + this.getStartAt())); }; /** - * optional bytes data_contract = 1; + * optional bytes start_at = 7; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContract()` + * This is a type-conversion wrapper around `getStartAt()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContract())); + this.getStartAt())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; @@ -11085,36 +14771,54 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 7) != null; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bool prove = 8; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); +}; + + +/** + * optional GetDocumentsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -11122,82 +14826,147 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional GetDataContractResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter + ); + } }; @@ -11210,21 +14979,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = functi * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DOCUMENTS: 1, + PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); }; @@ -11242,8 +15012,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); }; @@ -11252,13 +15022,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) + documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -11272,23 +15044,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11296,9 +15068,19 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); + msg.setDocuments(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -11313,9 +15095,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11323,18 +15105,34 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = message.getDocuments(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; @@ -11346,7 +15144,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; @@ -11363,8 +15161,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); }; @@ -11373,14 +15171,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + documentsList: msg.getDocumentsList_asB64() }; if (includeInstance) { @@ -11394,23 +15191,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11419,11 +15216,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.addDocuments(value); break; default: reader.skipField(); @@ -11438,9 +15231,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11448,67 +15241,60 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getDocumentsList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } }; /** - * repeated bytes ids = 1; + * repeated bytes documents = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` + * repeated bytes documents = 1; + * This is a type-conversion wrapper around `getDocumentsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); + this.getDocumentsList())); }; /** - * repeated bytes ids = 1; + * repeated bytes documents = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` + * This is a type-conversion wrapper around `getDocumentsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); + this.getDocumentsList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -11516,64 +15302,157 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional bool prove = 2; + * optional Documents documents = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { + return this.setDocuments(undefined); +}; + + +/** + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * optional GetDataContractsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDocumentsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -11582,7 +15461,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = func * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -11596,21 +15475,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = functi * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0])); }; @@ -11628,8 +15507,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); }; @@ -11638,13 +15517,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -11658,23 +15537,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11682,8 +15561,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -11699,9 +15578,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11709,24 +15588,31 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter ); } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -11742,8 +15628,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(opt_includeInstance, this); }; @@ -11752,14 +15638,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identifier: msg.getIdentifier_asB64(), - dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) + publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -11773,23 +15659,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11798,12 +15684,11 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentifier(value); + msg.addPublicKeyHashes(value); break; case 2: - var value = new google_protobuf_wrappers_pb.BytesValue; - reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); - msg.setDataContract(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -11818,9 +15703,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11828,266 +15713,142 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentifier_asU8(); + f = message.getPublicKeyHashesList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = message.getDataContract(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter + f ); } }; /** - * optional bytes identifier = 1; - * @return {string} + * repeated bytes public_key_hashes = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes identifier = 1; - * This is a type-conversion wrapper around `getIdentifier()` - * @return {string} + * repeated bytes public_key_hashes = 1; + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentifier())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getPublicKeyHashesList())); }; /** - * optional bytes identifier = 1; + * repeated bytes public_key_hashes = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentifier()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentifier())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional google.protobuf.BytesValue data_contract = 2; - * @return {?proto.google.protobuf.BytesValue} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { - return /** @type{?proto.google.protobuf.BytesValue} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); -}; - - -/** - * @param {?proto.google.protobuf.BytesValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { - return this.setDataContract(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 2) != null; -}; - - - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getPublicKeyHashesList())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { - var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setPublicKeyHashesList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.addPublicKeyHashes = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.clearPublicKeyHashesList = function() { + return this.setPublicKeyHashesList([]); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * repeated DataContractEntry data_contract_entries = 1; - * @return {!Array} + * optional GetIdentitiesByPublicKeyHashesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, 1)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -12100,22 +15861,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); }; @@ -12133,8 +15893,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); }; @@ -12143,15 +15903,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { var f, obj = { - dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12165,23 +15923,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12189,19 +15947,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); - msg.setDataContracts(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -12216,9 +15964,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12226,175 +15974,216 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContracts(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter ); } }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional DataContracts data_contracts = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject(opt_includeInstance, this); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject = function(includeInstance, msg) { + var f, obj = { + publicKeyHash: msg.getPublicKeyHash_asB64(), + value: (f = msg.getValue()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { - return this.setDataContracts(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); + break; + case 2: + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPublicKeyHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getValue(); + if (f != null) { + writer.writeMessage( + 2, + f, + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter + ); + } }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes public_key_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional GetDataContractsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * optional google.protobuf.BytesValue value = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getValue = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); }; @@ -12402,36 +16191,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = fun * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.hasValue = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} + * List of repeated fields within this message type. + * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_ = [1]; @@ -12448,8 +16219,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(opt_includeInstance, this); }; @@ -12458,13 +16229,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject, includeInstance) }; if (includeInstance) { @@ -12478,23 +16250,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12502,9 +16274,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); break; default: reader.skipField(); @@ -12519,9 +16291,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12529,23 +16301,87 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter ); } }; +/** + * repeated PublicKeyHashIdentityEntry identity_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0])); +}; @@ -12562,8 +16398,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(opt_includeInstance, this); }; @@ -12572,17 +16408,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -12596,23 +16430,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12620,26 +16454,19 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader); + msg.setIdentities(value); break; case 2: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartAtMs(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -12654,9 +16481,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12664,119 +16491,101 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter ); } - f = message.getLimit(); + f = message.getProof(); if (f != null) { writer.writeMessage( 2, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getOffset(); + f = message.getMetadata(); if (f != null) { writer.writeMessage( 3, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getStartAtMs(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes id = 1; - * @return {string} + * optional IdentitiesByPublicKeyHashes identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -12784,36 +16593,36 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -12821,71 +16630,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional uint64 start_at_ms = 4; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); -}; - - -/** - * optional bool prove = 5; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); -}; - - -/** - * optional GetDataContractHistoryRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * optional GetIdentitiesByPublicKeyHashesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -12894,7 +16667,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -12908,21 +16681,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); }; @@ -12940,8 +16713,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); }; @@ -12950,13 +16723,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12970,23 +16743,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12994,8 +16767,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -13011,9 +16784,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13021,50 +16794,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACT_HISTORY: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -13080,8 +16827,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); }; @@ -13090,15 +16837,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + publicKeyHash: msg.getPublicKeyHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -13112,23 +16858,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13136,19 +16882,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); - msg.setDataContractHistory(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -13160,52 +16899,164 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPublicKeyHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes public_key_hash = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); +}; + + +/** + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDataContractHistory(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +}; @@ -13222,8 +17073,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); }; @@ -13232,14 +17083,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { var f, obj = { - date: jspb.Message.getFieldWithDefault(msg, 1, 0), - value: msg.getValue_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13253,23 +17103,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13277,12 +17127,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setDate(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13297,9 +17144,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13307,99 +17154,52 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDate(); - if (f !== 0) { - writer.writeUint64( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter ); } }; -/** - * optional uint64 date = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional bytes value = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - /** - * optional bytes value = 2; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; /** - * optional bytes value = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 }; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; - - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13413,8 +17213,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); }; @@ -13423,14 +17223,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -13444,23 +17245,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13468,9 +17269,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -13485,9 +17295,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13495,86 +17305,86 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * repeated DataContractHistoryEntry data_contract_entries = 1; - * @return {!Array} + * optional bytes identity = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); }; /** - * optional DataContractHistory data_contract_history = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { - return this.setDataContractHistory(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); }; @@ -13582,7 +17392,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { return jspb.Message.getField(this, 1) != null; }; @@ -13591,7 +17401,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -13599,18 +17409,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -13619,7 +17429,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -13628,7 +17438,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -13636,18 +17446,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -13656,35 +17466,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetDataContractHistoryResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -13693,7 +17503,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -13707,21 +17517,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0])); }; @@ -13739,8 +17549,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); }; @@ -13749,13 +17559,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13769,23 +17579,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13793,8 +17603,8 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -13810,9 +17620,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13820,50 +17630,24 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { - START_NOT_SET: 0, - START_AFTER: 6, - START_AT: 7 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -13879,8 +17663,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); }; @@ -13889,20 +17673,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractId: msg.getDataContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - where: msg.getWhere_asB64(), - orderBy: msg.getOrderBy_asB64(), - limit: jspb.Message.getFieldWithDefault(msg, 5, 0), - startAfter: msg.getStartAfter_asB64(), - startAt: msg.getStartAt_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) + stateTransitionHash: msg.getStateTransitionHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -13916,58 +17694,34 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContractId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); - break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWhere(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setOrderBy(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); - break; - case 6: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAfter(value); + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { break; - case 7: + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAt(value); + msg.setStateTransitionHash(value); break; - case 8: + case 2: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -13984,9 +17738,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13994,65 +17748,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractId_asU8(); + f = message.getStateTransitionHash_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getWhere_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getOrderBy_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getLimit(); - if (f !== 0) { - writer.writeUint32( - 5, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); - if (f != null) { - writer.writeBytes( - 6, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); - if (f != null) { - writer.writeBytes( - 7, - f - ); - } f = message.getProve(); if (f) { writer.writeBool( - 8, + 2, f ); } @@ -14060,330 +17772,471 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serial /** - * optional bytes data_contract_id = 1; + * optional bytes state_transition_hash = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes data_contract_id = 1; - * This is a type-conversion wrapper around `getDataContractId()` + * optional bytes state_transition_hash = 1; + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContractId())); + this.getStateTransitionHash())); }; /** - * optional bytes data_contract_id = 1; + * optional bytes state_transition_hash = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContractId()` + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContractId())); + this.getStateTransitionHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional string document_type = 2; - * @return {string} + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional bytes where = 3; - * @return {string} + * optional WaitForStateTransitionResultRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, 1)); }; /** - * optional bytes where = 3; - * This is a type-conversion wrapper around `getWhere()` - * @return {string} + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getWhere())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes where = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getWhere()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getWhere())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes order_by = 4; - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); }; /** - * optional bytes order_by = 4; - * This is a type-conversion wrapper around `getOrderBy()` - * @return {string} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getOrderBy())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes order_by = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getOrderBy()` - * @return {!Uint8Array} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getOrderBy())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional uint32 limit = 5; - * @return {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter + ); + } }; -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); -}; - /** - * optional bytes start_after = 6; - * @return {string} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); -}; - +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; /** - * optional bytes start_after = 6; - * This is a type-conversion wrapper around `getStartAfter()` - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + ERROR: 1, + PROOF: 2 }; - /** - * optional bytes start_after = 6; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAfter()` - * @return {!Uint8Array} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0])); }; -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { - return jspb.Message.getField(this, 6) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes start_at = 7; - * @return {string} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * optional bytes start_at = 7; - * This is a type-conversion wrapper around `getStartAt()` - * @return {string} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); + msg.setError(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional bytes start_at = 7; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAt()` + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getError(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * optional StateTransitionBroadcastError error = 1; + * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getError = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); }; /** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { - return jspb.Message.getField(this, 7) != null; + * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setError = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** - * optional bool prove = 8; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { + return this.setError(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional GetDocumentsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -14391,147 +18244,82 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * optional WaitForStateTransitionResultResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -14544,22 +18332,21 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = f * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DOCUMENTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0])); }; @@ -14577,8 +18364,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); }; @@ -14587,15 +18374,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { var f, obj = { - documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -14609,23 +18394,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toOb /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14633,19 +18418,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.dese var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); - msg.setDocuments(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -14660,57 +18435,34 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.dese * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDocuments(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); if (f != null) { writer.writeMessage( - 3, + 1, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -14726,8 +18478,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this); }; @@ -14736,13 +18488,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - documentsList: msg.getDocumentsList_asB64() + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -14756,23 +18509,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14780,8 +18533,12 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addDocuments(value); + var value = /** @type {number} */ (reader.readInt32()); + msg.setHeight(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -14796,9 +18553,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14806,259 +18563,434 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocumentsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getHeight(); + if (f !== 0) { + writer.writeInt32( 1, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes documents = 1; - * @return {!Array} + * optional int32 height = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * repeated bytes documents = 1; - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getDocumentsList())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * repeated bytes documents = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getDocumentsList())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * optional GetConsensusParamsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, 1)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional Documents documents = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { - return this.setDocuments(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter + ); + } }; -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); -}; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { + var f, obj = { + maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), + timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxBytes(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxGas(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setTimeIotaMs(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getMaxGas(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getTimeIotaMs(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional GetDocumentsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * optional string max_bytes = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * optional string max_gas = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_ = [[1]]; - /** - * @enum {number} + * optional string time_iota_ms = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -15072,8 +19004,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); }; @@ -15082,13 +19014,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(includeInstance, f) + maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), + maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -15102,23 +19036,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15126,9 +19060,16 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeNumBlocks(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeDuration(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxBytes(value); break; default: reader.skipField(); @@ -15143,9 +19084,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15153,30 +19094,90 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getMaxAgeNumBlocks(); + if (f.length > 0) { + writer.writeString( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter + f + ); + } + f = message.getMaxAgeDuration(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 3, + f ); } }; +/** + * optional string max_age_num_blocks = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string max_age_duration = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string max_bytes = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + @@ -15193,8 +19194,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); }; @@ -15203,14 +19204,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), + evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) }; if (includeInstance) { @@ -15224,23 +19225,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15248,12 +19249,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addPublicKeyHashes(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); + msg.setBlock(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); + msg.setEvidence(value); break; default: reader.skipField(); @@ -15268,9 +19271,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15278,132 +19281,129 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHashesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getBlock(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getEvidence(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter ); } }; /** - * repeated bytes public_key_hashes = 1; - * @return {!Array} + * optional ConsensusParamsBlock block = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getBlock = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, 1)); }; /** - * repeated bytes public_key_hashes = 1; - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getPublicKeyHashesList())); + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setBlock = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** - * repeated bytes public_key_hashes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getPublicKeyHashesList())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { + return this.setBlock(undefined); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setPublicKeyHashesList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + * optional ConsensusParamsEvidence evidence = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.addPublicKeyHashes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.clearPublicKeyHashesList = function() { - return this.setPublicKeyHashesList([]); + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional bool prove = 2; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { + return this.setEvidence(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetIdentitiesByPublicKeyHashesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + * optional GetConsensusParamsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -15412,7 +19412,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -15426,21 +19426,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_[0])); }; @@ -15458,8 +19458,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.toObject(opt_includeInstance, this); }; @@ -15468,13 +19468,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -15488,23 +19488,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15512,8 +19512,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -15529,9 +19529,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15539,235 +19539,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter - ); - } -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject = function(includeInstance, msg) { - var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - value: (f = msg.getValue()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.BytesValue; - reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPublicKeyHash_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes public_key_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); -}; - - -/** - * optional bytes public_key_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setPublicKeyHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional google.protobuf.BytesValue value = 2; - * @return {?proto.google.protobuf.BytesValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getValue = function() { - return /** @type{?proto.google.protobuf.BytesValue} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); -}; - - -/** - * @param {?proto.google.protobuf.BytesValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; -}; - - - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_ = [1]; @@ -15784,8 +19572,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.toObject(opt_includeInstance, this); }; @@ -15794,14 +19582,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject, includeInstance) + prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) }; if (includeInstance) { @@ -15815,23 +19602,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15839,9 +19626,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader); - msg.addIdentityEntries(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -15856,9 +19642,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15866,58 +19652,74 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter + f ); } }; /** - * repeated PublicKeyHashIdentityEntry identity_entries = 1; - * @return {!Array} + * optional bool prove = 1; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.getIdentityEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + +/** + * optional GetVersionUpgradeStateRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.setIdentityEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.addIdentityEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.clearIdentityEntriesList = function() { - return this.setIdentityEntriesList([]); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -15930,22 +19732,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_[0])); }; @@ -15963,8 +19764,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.toObject(opt_includeInstance, this); }; @@ -15973,15 +19774,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -15995,23 +19794,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16019,19 +19818,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader); - msg.setIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -16046,9 +19835,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16056,212 +19845,198 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentities(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.serializeBinaryToWriter ); } }; -/** - * optional IdentitiesByPublicKeyHashes identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearIdentities = function() { - return this.setIdentities(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); -}; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + VERSIONS: 1, + PROOF: 2 }; - /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_[0])); }; -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.toObject(opt_includeInstance, this); }; /** - * optional GetIdentitiesByPublicKeyHashesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader); + msg.setVersions(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getVersions(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [1]; @@ -16278,8 +20053,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.toObject(opt_includeInstance, this); }; @@ -16288,13 +20063,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toOb * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) + versionsList: jspb.Message.toObjectList(msg.getVersionsList(), + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance) }; if (includeInstance) { @@ -16308,23 +20084,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = fun /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16332,9 +20108,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader); + msg.addVersions(value); break; default: reader.skipField(); @@ -16349,9 +20125,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16359,23 +20135,61 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.seri /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getVersionsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter ); } }; +/** + * repeated VersionEntry versions = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.getVersionsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.setVersionsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.addVersions = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() { + return this.setVersionsList([]); +}; + + @@ -16392,8 +20206,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.toObject(opt_includeInstance, this); }; @@ -16402,14 +20216,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0), + voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -16423,23 +20237,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16447,12 +20261,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setVersionNumber(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setVoteCount(value); break; default: reader.skipField(); @@ -16467,9 +20281,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16477,22 +20291,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getVersionNumber(); + if (f !== 0) { + writer.writeUint32( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getVoteCount(); + if (f !== 0) { + writer.writeUint32( 2, f ); @@ -16501,89 +20315,176 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** - * optional bytes public_key_hash = 1; - * @return {string} + * optional uint32 version_number = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional bytes public_key_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {!Uint8Array} + * optional uint32 vote_count = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional Versions versions = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getVersions = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.setVersions = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.clearVersions = function() { + return this.setVersions(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.hasVersions = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * optional GetVersionUpgradeStateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -16592,7 +20493,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clea * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -16606,21 +20507,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_[0])); }; @@ -16638,8 +20539,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.toObject(opt_includeInstance, this); }; @@ -16648,13 +20549,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toO * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -16668,23 +20569,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = fu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16692,8 +20593,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -16709,9 +20610,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16719,50 +20620,24 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.ser /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITY: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -16778,8 +20653,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.toObject(opt_includeInstance, this); }; @@ -16788,15 +20663,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + startProTxHash: msg.getStartProTxHash_asB64(), + count: jspb.Message.getFieldWithDefault(msg, 2, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -16810,23 +20685,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16835,17 +20710,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + msg.setStartProTxHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setCount(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -16860,9 +20733,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16870,196 +20743,138 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); - if (f != null) { + f = message.getStartProTxHash_asU8(); + if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; /** - * optional bytes identity = 1; + * optional bytes start_pro_tx_hash = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` + * optional bytes start_pro_tx_hash = 1; + * This is a type-conversion wrapper around `getStartProTxHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); + this.getStartProTxHash())); }; /** - * optional bytes identity = 1; + * optional bytes start_pro_tx_hash = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` + * This is a type-conversion wrapper around `getStartProTxHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); + this.getStartProTxHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional uint32 count = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.setCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * Returns whether this field is set. + * optional bool prove = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * optional GetVersionUpgradeVoteStatusRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -17068,7 +20883,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.cle * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17082,21 +20897,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.has * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_[0])); }; @@ -17114,8 +20929,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.toObject(opt_includeInstance, this); }; @@ -17124,13 +20939,13 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17144,23 +20959,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17168,8 +20983,8 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -17185,9 +21000,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17195,24 +21010,50 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + VERSIONS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -17228,8 +21069,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.toObject(opt_includeInstance, this); }; @@ -17238,14 +21079,15 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - stateTransitionHash: msg.getStateTransitionHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -17259,23 +21101,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17283,12 +21125,19 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransitionHash(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader); + msg.setVersions(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -17303,9 +21152,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17313,151 +21162,46 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransitionHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getVersions(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } -}; - - -/** - * optional bytes state_transition_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes state_transition_hash = 1; - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransitionHash())); -}; - - -/** - * optional bytes state_transition_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransitionHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional WaitForStateTransitionResultRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; }; /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} + * List of repeated fields within this message type. + * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1]; @@ -17474,8 +21218,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(opt_includeInstance, this); }; @@ -17484,13 +21228,14 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) + versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(), + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance) }; if (includeInstance) { @@ -17504,23 +21249,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17528,9 +21273,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader); + msg.addVersionSignals(value); break; default: reader.skipField(); @@ -17545,9 +21290,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17555,52 +21300,64 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getVersionSignalsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter ); } }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * repeated VersionSignal version_signals = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.getVersionSignalsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal, 1)); +}; + /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - ERROR: 1, - PROOF: 2 + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.setVersionSignalsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.addVersionSignals = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal, opt_index); }; + /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() { + return this.setVersionSignalsList([]); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -17614,8 +21371,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(opt_includeInstance, this); }; @@ -17624,15 +21381,14 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) { var f, obj = { - error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + proTxHash: msg.getProTxHash_asB64(), + version: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -17646,23 +21402,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17670,19 +21426,12 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); - msg.setError(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setProTxHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setVersion(value); break; default: reader.skipField(); @@ -17697,9 +21446,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17707,64 +21456,114 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getError(); - if (f != null) { - writer.writeMessage( + f = message.getProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getVersion(); + if (f !== 0) { + writer.writeUint32( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; /** - * optional StateTransitionBroadcastError error = 1; - * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * optional bytes pro_tx_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getError = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * optional bytes pro_tx_hash = 1; + * This is a type-conversion wrapper around `getProTxHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getProTxHash())); +}; + + +/** + * optional bytes pro_tx_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getProTxHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getProTxHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setProTxHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint32 version = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setVersion = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional VersionSignals versions = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getVersions = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setError = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.setVersions = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { - return this.setError(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.clearVersions = function() { + return this.setVersions(undefined); }; @@ -17772,7 +21571,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.hasVersions = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17781,7 +21580,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -17789,18 +21588,18 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -17809,7 +21608,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -17818,7 +21617,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -17826,18 +21625,18 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -17846,35 +21645,35 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional WaitForStateTransitionResultResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * optional GetVersionUpgradeVoteStatusResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -17883,7 +21682,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17897,21 +21696,21 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.h * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_[0])); }; @@ -17929,8 +21728,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject(opt_includeInstance, this); }; @@ -17939,13 +21738,13 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17959,23 +21758,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17983,8 +21782,8 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -18000,9 +21799,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18010,18 +21809,18 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter ); } }; @@ -18043,8 +21842,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(opt_includeInstance, this); }; @@ -18053,14 +21852,16 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + startEpoch: (f = msg.getStartEpoch()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + count: jspb.Message.getFieldWithDefault(msg, 2, 0), + ascending: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; if (includeInstance) { @@ -18074,23 +21875,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18098,10 +21899,19 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readInt32()); - msg.setHeight(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setStartEpoch(value); break; case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCount(value); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setAscending(value); + break; + case 4: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -18118,9 +21928,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18128,23 +21938,38 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeInt32( + f = message.getStartEpoch(); + if (f != null) { + writer.writeMessage( 1, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getAscending(); + if (f) { + writer.writeBool( + 3, f ); } f = message.getProve(); if (f) { writer.writeBool( - 2, + 4, f ); } @@ -18152,65 +21977,120 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ /** - * optional int32 height = 1; - * @return {number} + * optional google.protobuf.UInt32Value start_epoch = 1; + * @return {?proto.google.protobuf.UInt32Value} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getStartEpoch = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 1)); +}; + + +/** + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setStartEpoch = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.clearStartEpoch = function() { + return this.setStartEpoch(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.hasStartEpoch = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional uint32 count = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional bool ascending = 3; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getAscending = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional bool prove = 2; + * optional bool prove = 4; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); }; /** - * optional GetConsensusParamsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * optional GetEpochsInfoRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -18219,7 +22099,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -18233,21 +22113,21 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = func * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_[0])); }; @@ -18265,8 +22145,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject(opt_includeInstance, this); }; @@ -18275,13 +22155,13 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -18295,23 +22175,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18319,8 +22199,8 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -18336,9 +22216,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18346,24 +22226,50 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + EPOCHS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -18379,8 +22285,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(opt_includeInstance, this); }; @@ -18389,15 +22295,15 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), - timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") + epochs: (f = msg.getEpochs()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -18411,23 +22317,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18435,16 +22341,19 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader); + msg.setEpochs(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxGas(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTimeIotaMs(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -18459,9 +22368,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18469,87 +22378,196 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( + f = message.getEpochs(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter ); } - f = message.getMaxGas(); - if (f.length > 0) { - writer.writeString( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getTimeIotaMs(); - if (f.length > 0) { - writer.writeString( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; + /** - * optional string max_bytes = 1; - * @return {string} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(opt_includeInstance, this); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) { + var f, obj = { + epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(), + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional string max_gas = 2; - * @return {string} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader(msg, reader); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader); + msg.addEpochInfos(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional string time_iota_ms = 3; - * @return {string} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEpochInfosList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated EpochInfo epoch_infos = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.getEpochInfosList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.addEpochInfos = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() { + return this.setEpochInfosList([]); }; @@ -18569,8 +22587,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject(opt_includeInstance, this); }; @@ -18579,15 +22597,17 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) { var f, obj = { - maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), - maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") + number: jspb.Message.getFieldWithDefault(msg, 1, 0), + firstBlockHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), + firstCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, 0), + startTime: jspb.Message.getFieldWithDefault(msg, 4, 0), + feeMultiplier: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0) }; if (includeInstance) { @@ -18601,23 +22621,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18625,16 +22645,24 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeNumBlocks(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setNumber(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeDuration(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setFirstBlockHeight(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setFirstCoreBlockHeight(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartTime(value); + break; + case 5: + var value = /** @type {number} */ (reader.readDouble()); + msg.setFeeMultiplier(value); break; default: reader.skipField(); @@ -18649,9 +22677,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18659,243 +22687,202 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxAgeNumBlocks(); - if (f.length > 0) { - writer.writeString( + f = message.getNumber(); + if (f !== 0) { + writer.writeUint32( 1, f ); } - f = message.getMaxAgeDuration(); - if (f.length > 0) { - writer.writeString( + f = message.getFirstBlockHeight(); + if (f !== 0) { + writer.writeUint64( 2, f ); } - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( + f = message.getFirstCoreBlockHeight(); + if (f !== 0) { + writer.writeUint32( 3, f ); } + f = message.getStartTime(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getFeeMultiplier(); + if (f !== 0.0) { + writer.writeDouble( + 5, + f + ); + } }; /** - * optional string max_age_num_blocks = 1; - * @return {string} + * optional uint32 number = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional string max_age_duration = 2; - * @return {string} + * optional uint64 first_block_height = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * optional string max_bytes = 3; - * @return {string} + * optional uint32 first_core_block_height = 3; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstCoreBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); }; +/** + * optional uint64 start_time = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional double fee_multiplier = 5; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), - evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() { + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFeeMultiplier = function(value) { + return jspb.Message.setProto3FloatField(this, 5, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional EpochInfos epochs = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); - msg.setBlock(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); - msg.setEvidence(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getEpochs = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos, 1)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setEpochs = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() { + return this.setEpochs(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBlock(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter - ); - } - f = message.getEvidence(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional ConsensusParamsBlock block = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getBlock = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, 1)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setBlock = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { - return this.setBlock(undefined); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -18903,36 +22890,36 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional ConsensusParamsEvidence evidence = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { - return this.setEvidence(undefined); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -18940,35 +22927,35 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetConsensusParamsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional GetEpochsInfoResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -18977,7 +22964,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = f * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index 894d976ffc..15ae430e71 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h @@ -47,6 +47,10 @@ CF_EXTERN_C_BEGIN @class GetDocumentsRequest_GetDocumentsRequestV0; @class GetDocumentsResponse_GetDocumentsResponseV0; @class GetDocumentsResponse_GetDocumentsResponseV0_Documents; +@class GetEpochsInfoRequest_GetEpochsInfoRequestV0; +@class GetEpochsInfoResponse_GetEpochsInfoResponseV0; +@class GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo; +@class GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos; @class GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0; @class GetIdentitiesByPublicKeyHashesResponse_GetIdentitiesByPublicKeyHashesResponseV0; @class GetIdentitiesByPublicKeyHashesResponse_IdentitiesByPublicKeyHashes; @@ -73,6 +77,14 @@ CF_EXTERN_C_BEGIN @class GetProofsRequest_GetProofsRequestV0_DocumentRequest; @class GetProofsRequest_GetProofsRequestV0_IdentityRequest; @class GetProofsResponse_GetProofsResponseV0; +@class GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0; +@class GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0; +@class GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry; +@class GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions; +@class GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0; +@class GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0; +@class GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal; +@class GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals; @class KeyRequestType; @class Proof; @class ResponseMetadata; @@ -175,9 +187,10 @@ GPB_FINAL @interface Proof : GPBMessage typedef GPB_ENUM(ResponseMetadata_FieldNumber) { ResponseMetadata_FieldNumber_Height = 1, ResponseMetadata_FieldNumber_CoreChainLockedHeight = 2, - ResponseMetadata_FieldNumber_TimeMs = 3, - ResponseMetadata_FieldNumber_ProtocolVersion = 4, - ResponseMetadata_FieldNumber_ChainId = 5, + ResponseMetadata_FieldNumber_Epoch = 3, + ResponseMetadata_FieldNumber_TimeMs = 4, + ResponseMetadata_FieldNumber_ProtocolVersion = 5, + ResponseMetadata_FieldNumber_ChainId = 6, }; GPB_FINAL @interface ResponseMetadata : GPBMessage @@ -186,6 +199,8 @@ GPB_FINAL @interface ResponseMetadata : GPBMessage @property(nonatomic, readwrite) uint32_t coreChainLockedHeight; +@property(nonatomic, readwrite) uint32_t epoch; + @property(nonatomic, readwrite) uint64_t timeMs; @property(nonatomic, readwrite) uint32_t protocolVersion; @@ -1974,6 +1989,398 @@ GPB_FINAL @interface GetConsensusParamsResponse_GetConsensusParamsResponseV0 : G @end +#pragma mark - GetVersionUpgradeStateRequest + +typedef GPB_ENUM(GetVersionUpgradeStateRequest_FieldNumber) { + GetVersionUpgradeStateRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetVersionUpgradeStateRequest_Version_OneOfCase) { + GetVersionUpgradeStateRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetVersionUpgradeStateRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetVersionUpgradeStateRequest : GPBMessage + +@property(nonatomic, readonly) GetVersionUpgradeStateRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetVersionUpgradeStateRequest_ClearVersionOneOfCase(GetVersionUpgradeStateRequest *message); + +#pragma mark - GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0 + +typedef GPB_ENUM(GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0_FieldNumber) { + GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0_FieldNumber_Prove = 1, +}; + +GPB_FINAL @interface GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0 : GPBMessage + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetVersionUpgradeStateResponse + +typedef GPB_ENUM(GetVersionUpgradeStateResponse_FieldNumber) { + GetVersionUpgradeStateResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetVersionUpgradeStateResponse_Version_OneOfCase) { + GetVersionUpgradeStateResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetVersionUpgradeStateResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetVersionUpgradeStateResponse : GPBMessage + +@property(nonatomic, readonly) GetVersionUpgradeStateResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetVersionUpgradeStateResponse_ClearVersionOneOfCase(GetVersionUpgradeStateResponse *message); + +#pragma mark - GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 + +typedef GPB_ENUM(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_FieldNumber) { + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_FieldNumber_Versions = 1, + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_FieldNumber_Proof = 2, + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Result_OneOfCase) { + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Result_OneOfCase_Versions = 1, + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions *versions; + +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_ClearResultOneOfCase(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 *message); + +#pragma mark - GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions + +typedef GPB_ENUM(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions_FieldNumber) { + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions_FieldNumber_VersionsArray = 1, +}; + +GPB_FINAL @interface GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *versionsArray; +/** The number of items in @c versionsArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger versionsArray_Count; + +@end + +#pragma mark - GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry + +typedef GPB_ENUM(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry_FieldNumber) { + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VersionNumber = 1, + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VoteCount = 2, +}; + +GPB_FINAL @interface GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry : GPBMessage + +@property(nonatomic, readwrite) uint32_t versionNumber; + +@property(nonatomic, readwrite) uint32_t voteCount; + +@end + +#pragma mark - GetVersionUpgradeVoteStatusRequest + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusRequest_FieldNumber) { + GetVersionUpgradeVoteStatusRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusRequest_Version_OneOfCase) { + GetVersionUpgradeVoteStatusRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetVersionUpgradeVoteStatusRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetVersionUpgradeVoteStatusRequest : GPBMessage + +@property(nonatomic, readonly) GetVersionUpgradeVoteStatusRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetVersionUpgradeVoteStatusRequest_ClearVersionOneOfCase(GetVersionUpgradeVoteStatusRequest *message); + +#pragma mark - GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0 + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0_FieldNumber) { + GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0_FieldNumber_StartProTxHash = 1, + GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0_FieldNumber_Count = 2, + GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0_FieldNumber_Prove = 3, +}; + +GPB_FINAL @interface GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0 : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *startProTxHash; + +@property(nonatomic, readwrite) uint32_t count; + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetVersionUpgradeVoteStatusResponse + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusResponse_FieldNumber) { + GetVersionUpgradeVoteStatusResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusResponse_Version_OneOfCase) { + GetVersionUpgradeVoteStatusResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetVersionUpgradeVoteStatusResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetVersionUpgradeVoteStatusResponse : GPBMessage + +@property(nonatomic, readonly) GetVersionUpgradeVoteStatusResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetVersionUpgradeVoteStatusResponse_ClearVersionOneOfCase(GetVersionUpgradeVoteStatusResponse *message); + +#pragma mark - GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_FieldNumber) { + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_FieldNumber_Versions = 1, + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_FieldNumber_Proof = 2, + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_Result_OneOfCase) { + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_Result_OneOfCase_Versions = 1, + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals *versions; + +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_ClearResultOneOfCase(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 *message); + +#pragma mark - GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals_FieldNumber) { + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals_FieldNumber_VersionSignalsArray = 1, +}; + +GPB_FINAL @interface GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *versionSignalsArray; +/** The number of items in @c versionSignalsArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger versionSignalsArray_Count; + +@end + +#pragma mark - GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal + +typedef GPB_ENUM(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber) { + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_ProTxHash = 1, + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_Version = 2, +}; + +GPB_FINAL @interface GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal : GPBMessage + +@property(nonatomic, readwrite, copy, null_resettable) NSData *proTxHash; + +@property(nonatomic, readwrite) uint32_t version; + +@end + +#pragma mark - GetEpochsInfoRequest + +typedef GPB_ENUM(GetEpochsInfoRequest_FieldNumber) { + GetEpochsInfoRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetEpochsInfoRequest_Version_OneOfCase) { + GetEpochsInfoRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetEpochsInfoRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetEpochsInfoRequest : GPBMessage + +@property(nonatomic, readonly) GetEpochsInfoRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetEpochsInfoRequest_GetEpochsInfoRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetEpochsInfoRequest_ClearVersionOneOfCase(GetEpochsInfoRequest *message); + +#pragma mark - GetEpochsInfoRequest_GetEpochsInfoRequestV0 + +typedef GPB_ENUM(GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber) { + GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_StartEpoch = 1, + GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Count = 2, + GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Ascending = 3, + GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Prove = 4, +}; + +GPB_FINAL @interface GetEpochsInfoRequest_GetEpochsInfoRequestV0 : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) GPBUInt32Value *startEpoch; +/** Test to see if @c startEpoch has been set. */ +@property(nonatomic, readwrite) BOOL hasStartEpoch; + +@property(nonatomic, readwrite) uint32_t count; + +@property(nonatomic, readwrite) BOOL ascending; + +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetEpochsInfoResponse + +typedef GPB_ENUM(GetEpochsInfoResponse_FieldNumber) { + GetEpochsInfoResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetEpochsInfoResponse_Version_OneOfCase) { + GetEpochsInfoResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetEpochsInfoResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetEpochsInfoResponse : GPBMessage + +@property(nonatomic, readonly) GetEpochsInfoResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetEpochsInfoResponse_GetEpochsInfoResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetEpochsInfoResponse_ClearVersionOneOfCase(GetEpochsInfoResponse *message); + +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0 + +typedef GPB_ENUM(GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber) { + GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Epochs = 1, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Proof = 2, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetEpochsInfoResponse_GetEpochsInfoResponseV0_Result_OneOfCase) { + GetEpochsInfoResponse_GetEpochsInfoResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_Result_OneOfCase_Epochs = 1, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetEpochsInfoResponse_GetEpochsInfoResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetEpochsInfoResponse_GetEpochsInfoResponseV0_Result_OneOfCase resultOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos *epochs; + +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetEpochsInfoResponse_GetEpochsInfoResponseV0_ClearResultOneOfCase(GetEpochsInfoResponse_GetEpochsInfoResponseV0 *message); + +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos + +typedef GPB_ENUM(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos_FieldNumber) { + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos_FieldNumber_EpochInfosArray = 1, +}; + +GPB_FINAL @interface GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos : GPBMessage + +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *epochInfosArray; +/** The number of items in @c epochInfosArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger epochInfosArray_Count; + +@end + +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo + +typedef GPB_ENUM(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber) { + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_Number = 1, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FirstBlockHeight = 2, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FirstCoreBlockHeight = 3, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_StartTime = 4, + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FeeMultiplier = 5, +}; + +GPB_FINAL @interface GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo : GPBMessage + +@property(nonatomic, readwrite) uint32_t number; + +@property(nonatomic, readwrite) uint64_t firstBlockHeight; + +@property(nonatomic, readwrite) uint32_t firstCoreBlockHeight; + +@property(nonatomic, readwrite) uint64_t startTime; + +@property(nonatomic, readwrite) double feeMultiplier; + +@end + NS_ASSUME_NONNULL_END CF_EXTERN_C_END diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m index cbcde27e30..53d54dc512 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m @@ -57,6 +57,12 @@ GPBObjCClassDeclaration(GetDocumentsResponse); GPBObjCClassDeclaration(GetDocumentsResponse_GetDocumentsResponseV0); GPBObjCClassDeclaration(GetDocumentsResponse_GetDocumentsResponseV0_Documents); +GPBObjCClassDeclaration(GetEpochsInfoRequest); +GPBObjCClassDeclaration(GetEpochsInfoRequest_GetEpochsInfoRequestV0); +GPBObjCClassDeclaration(GetEpochsInfoResponse); +GPBObjCClassDeclaration(GetEpochsInfoResponse_GetEpochsInfoResponseV0); +GPBObjCClassDeclaration(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo); +GPBObjCClassDeclaration(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos); GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesRequest); GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesRequest_GetIdentitiesByPublicKeyHashesRequestV0); GPBObjCClassDeclaration(GetIdentitiesByPublicKeyHashesResponse); @@ -99,6 +105,18 @@ GPBObjCClassDeclaration(GetProofsRequest_GetProofsRequestV0_IdentityRequest); GPBObjCClassDeclaration(GetProofsResponse); GPBObjCClassDeclaration(GetProofsResponse_GetProofsResponseV0); +GPBObjCClassDeclaration(GetVersionUpgradeStateRequest); +GPBObjCClassDeclaration(GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0); +GPBObjCClassDeclaration(GetVersionUpgradeStateResponse); +GPBObjCClassDeclaration(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0); +GPBObjCClassDeclaration(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry); +GPBObjCClassDeclaration(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions); +GPBObjCClassDeclaration(GetVersionUpgradeVoteStatusRequest); +GPBObjCClassDeclaration(GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0); +GPBObjCClassDeclaration(GetVersionUpgradeVoteStatusResponse); +GPBObjCClassDeclaration(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0); +GPBObjCClassDeclaration(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal); +GPBObjCClassDeclaration(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals); GPBObjCClassDeclaration(KeyRequestType); GPBObjCClassDeclaration(Proof); GPBObjCClassDeclaration(ResponseMetadata); @@ -240,6 +258,7 @@ @implementation ResponseMetadata @dynamic height; @dynamic coreChainLockedHeight; +@dynamic epoch; @dynamic timeMs; @dynamic protocolVersion; @dynamic chainId; @@ -247,6 +266,7 @@ @implementation ResponseMetadata typedef struct ResponseMetadata__storage_ { uint32_t _has_storage_[1]; uint32_t coreChainLockedHeight; + uint32_t epoch; uint32_t protocolVersion; NSString *chainId; uint64_t height; @@ -277,11 +297,20 @@ + (GPBDescriptor *)descriptor { .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeUInt32, }, + { + .name = "epoch", + .dataTypeSpecific.clazz = Nil, + .number = ResponseMetadata_FieldNumber_Epoch, + .hasIndex = 2, + .offset = (uint32_t)offsetof(ResponseMetadata__storage_, epoch), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, { .name = "timeMs", .dataTypeSpecific.clazz = Nil, .number = ResponseMetadata_FieldNumber_TimeMs, - .hasIndex = 2, + .hasIndex = 3, .offset = (uint32_t)offsetof(ResponseMetadata__storage_, timeMs), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeUInt64, @@ -290,7 +319,7 @@ + (GPBDescriptor *)descriptor { .name = "protocolVersion", .dataTypeSpecific.clazz = Nil, .number = ResponseMetadata_FieldNumber_ProtocolVersion, - .hasIndex = 3, + .hasIndex = 4, .offset = (uint32_t)offsetof(ResponseMetadata__storage_, protocolVersion), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeUInt32, @@ -299,7 +328,7 @@ + (GPBDescriptor *)descriptor { .name = "chainId", .dataTypeSpecific.clazz = Nil, .number = ResponseMetadata_FieldNumber_ChainId, - .hasIndex = 4, + .hasIndex = 5, .offset = (uint32_t)offsetof(ResponseMetadata__storage_, chainId), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), .dataType = GPBDataTypeString, @@ -5332,6 +5361,1119 @@ + (GPBDescriptor *)descriptor { @end +#pragma mark - GetVersionUpgradeStateRequest + +@implementation GetVersionUpgradeStateRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetVersionUpgradeStateRequest__storage_ { + uint32_t _has_storage_[2]; + GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0 *v0; +} GetVersionUpgradeStateRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0), + .number = GetVersionUpgradeStateRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeStateRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeStateRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetVersionUpgradeStateRequest_ClearVersionOneOfCase(GetVersionUpgradeStateRequest *message) { + GPBDescriptor *descriptor = [GetVersionUpgradeStateRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0 + +@implementation GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0 + +@dynamic prove; + +typedef struct GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0__storage_ { + uint32_t _has_storage_[1]; +} GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0_FieldNumber_Prove, + .hasIndex = 0, + .offset = 1, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeStateRequest_GetVersionUpgradeStateRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeStateRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetVersionUpgradeStateResponse + +@implementation GetVersionUpgradeStateResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetVersionUpgradeStateResponse__storage_ { + uint32_t _has_storage_[2]; + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 *v0; +} GetVersionUpgradeStateResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0), + .number = GetVersionUpgradeStateResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeStateResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeStateResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetVersionUpgradeStateResponse_ClearVersionOneOfCase(GetVersionUpgradeStateResponse *message) { + GPBDescriptor *descriptor = [GetVersionUpgradeStateResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 + +@implementation GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 + +@dynamic resultOneOfCase; +@dynamic versions; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions *versions; + Proof *proof; + ResponseMetadata *metadata; +} GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "versions", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions), + .number = GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_FieldNumber_Versions, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0__storage_, versions), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeStateResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_ClearResultOneOfCase(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 *message) { + GPBDescriptor *descriptor = [GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions + +@implementation GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions + +@dynamic versionsArray, versionsArray_Count; + +typedef struct GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *versionsArray; +} GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "versionsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry), + .number = GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions_FieldNumber_VersionsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions__storage_, versionsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_Versions__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry + +@implementation GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry + +@dynamic versionNumber; +@dynamic voteCount; + +typedef struct GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry__storage_ { + uint32_t _has_storage_[1]; + uint32_t versionNumber; + uint32_t voteCount; +} GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "versionNumber", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VersionNumber, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry__storage_, versionNumber), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "voteCount", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VoteCount, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry__storage_, voteCount), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0_VersionEntry__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeStateResponse_GetVersionUpgradeStateResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetVersionUpgradeVoteStatusRequest + +@implementation GetVersionUpgradeVoteStatusRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetVersionUpgradeVoteStatusRequest__storage_ { + uint32_t _has_storage_[2]; + GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0 *v0; +} GetVersionUpgradeVoteStatusRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0), + .number = GetVersionUpgradeVoteStatusRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeVoteStatusRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeVoteStatusRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetVersionUpgradeVoteStatusRequest_ClearVersionOneOfCase(GetVersionUpgradeVoteStatusRequest *message) { + GPBDescriptor *descriptor = [GetVersionUpgradeVoteStatusRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0 + +@implementation GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0 + +@dynamic startProTxHash; +@dynamic count; +@dynamic prove; + +typedef struct GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0__storage_ { + uint32_t _has_storage_[1]; + uint32_t count; + NSData *startProTxHash; +} GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "startProTxHash", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0_FieldNumber_StartProTxHash, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0__storage_, startProTxHash), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "count", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0_FieldNumber_Count, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0__storage_, count), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0_FieldNumber_Prove, + .hasIndex = 2, + .offset = 3, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeVoteStatusRequest_GetVersionUpgradeVoteStatusRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeVoteStatusRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetVersionUpgradeVoteStatusResponse + +@implementation GetVersionUpgradeVoteStatusResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetVersionUpgradeVoteStatusResponse__storage_ { + uint32_t _has_storage_[2]; + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 *v0; +} GetVersionUpgradeVoteStatusResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0), + .number = GetVersionUpgradeVoteStatusResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeVoteStatusResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeVoteStatusResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetVersionUpgradeVoteStatusResponse_ClearVersionOneOfCase(GetVersionUpgradeVoteStatusResponse *message) { + GPBDescriptor *descriptor = [GetVersionUpgradeVoteStatusResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 + +@implementation GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 + +@dynamic resultOneOfCase; +@dynamic versions; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals *versions; + Proof *proof; + ResponseMetadata *metadata; +} GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "versions", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals), + .number = GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_FieldNumber_Versions, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0__storage_, versions), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeVoteStatusResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_ClearResultOneOfCase(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 *message) { + GPBDescriptor *descriptor = [GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals + +@implementation GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals + +@dynamic versionSignalsArray, versionSignalsArray_Count; + +typedef struct GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *versionSignalsArray; +} GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "versionSignalsArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal), + .number = GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals_FieldNumber_VersionSignalsArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_, versionSignalsArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal + +@implementation GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal + +@dynamic proTxHash; +@dynamic version; + +typedef struct GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_ { + uint32_t _has_storage_[1]; + uint32_t version; + NSData *proTxHash; +} GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "proTxHash", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_ProTxHash, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, proTxHash), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "version", + .dataTypeSpecific.clazz = Nil, + .number = GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_Version, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, version), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVersionUpgradeVoteStatusResponse_GetVersionUpgradeVoteStatusResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetEpochsInfoRequest + +@implementation GetEpochsInfoRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetEpochsInfoRequest__storage_ { + uint32_t _has_storage_[2]; + GetEpochsInfoRequest_GetEpochsInfoRequestV0 *v0; +} GetEpochsInfoRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoRequest_GetEpochsInfoRequestV0), + .number = GetEpochsInfoRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEpochsInfoRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetEpochsInfoRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetEpochsInfoRequest_ClearVersionOneOfCase(GetEpochsInfoRequest *message) { + GPBDescriptor *descriptor = [GetEpochsInfoRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetEpochsInfoRequest_GetEpochsInfoRequestV0 + +@implementation GetEpochsInfoRequest_GetEpochsInfoRequestV0 + +@dynamic hasStartEpoch, startEpoch; +@dynamic count; +@dynamic ascending; +@dynamic prove; + +typedef struct GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_ { + uint32_t _has_storage_[1]; + uint32_t count; + GPBUInt32Value *startEpoch; +} GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "startEpoch", + .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value), + .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_StartEpoch, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, startEpoch), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "count", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Count, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, count), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "ascending", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Ascending, + .hasIndex = 2, + .offset = 3, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Prove, + .hasIndex = 4, + .offset = 5, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest_GetEpochsInfoRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetEpochsInfoResponse + +@implementation GetEpochsInfoResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetEpochsInfoResponse__storage_ { + uint32_t _has_storage_[2]; + GetEpochsInfoResponse_GetEpochsInfoResponseV0 *v0; +} GetEpochsInfoResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0), + .number = GetEpochsInfoResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetEpochsInfoResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetEpochsInfoResponse_ClearVersionOneOfCase(GetEpochsInfoResponse *message) { + GPBDescriptor *descriptor = [GetEpochsInfoResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0 + +@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0 + +@dynamic resultOneOfCase; +@dynamic epochs; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos *epochs; + Proof *proof; + ResponseMetadata *metadata; +} GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "epochs", + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos), + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Epochs, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, epochs), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetEpochsInfoResponse_GetEpochsInfoResponseV0_ClearResultOneOfCase(GetEpochsInfoResponse_GetEpochsInfoResponseV0 *message) { + GPBDescriptor *descriptor = [GetEpochsInfoResponse_GetEpochsInfoResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos + +@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos + +@dynamic epochInfosArray, epochInfosArray_Count; + +typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *epochInfosArray; +} GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "epochInfosArray", + .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo), + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos_FieldNumber_EpochInfosArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_, epochInfosArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo + +@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo + +@dynamic number; +@dynamic firstBlockHeight; +@dynamic firstCoreBlockHeight; +@dynamic startTime; +@dynamic feeMultiplier; + +typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_ { + uint32_t _has_storage_[1]; + uint32_t number; + uint32_t firstCoreBlockHeight; + uint64_t firstBlockHeight; + uint64_t startTime; + double feeMultiplier; +} GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "number", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_Number, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, number), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "firstBlockHeight", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FirstBlockHeight, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, firstBlockHeight), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "firstCoreBlockHeight", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FirstCoreBlockHeight, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, firstCoreBlockHeight), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "startTime", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_StartTime, + .hasIndex = 3, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, startTime), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "feeMultiplier", + .dataTypeSpecific.clazz = Nil, + .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FeeMultiplier, + .hasIndex = 4, + .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, feeMultiplier), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeDouble, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + #pragma clang diagnostic pop diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h index ed4c310a94..4f8ace4d8a 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h @@ -26,6 +26,8 @@ @class GetDataContractsResponse; @class GetDocumentsRequest; @class GetDocumentsResponse; +@class GetEpochsInfoRequest; +@class GetEpochsInfoResponse; @class GetIdentitiesByPublicKeyHashesRequest; @class GetIdentitiesByPublicKeyHashesResponse; @class GetIdentitiesRequest; @@ -42,6 +44,10 @@ @class GetIdentityResponse; @class GetProofsRequest; @class GetProofsResponse; +@class GetVersionUpgradeStateRequest; +@class GetVersionUpgradeStateResponse; +@class GetVersionUpgradeVoteStatusRequest; +@class GetVersionUpgradeVoteStatusResponse; @class WaitForStateTransitionResultRequest; @class WaitForStateTransitionResultResponse; @@ -134,6 +140,18 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCUnaryProtoCall *)getConsensusParamsWithMessage:(GetConsensusParamsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +#pragma mark getVersionUpgradeState(GetVersionUpgradeStateRequest) returns (GetVersionUpgradeStateResponse) + +- (GRPCUnaryProtoCall *)getVersionUpgradeStateWithMessage:(GetVersionUpgradeStateRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + +#pragma mark getVersionUpgradeVoteStatus(GetVersionUpgradeVoteStatusRequest) returns (GetVersionUpgradeVoteStatusResponse) + +- (GRPCUnaryProtoCall *)getVersionUpgradeVoteStatusWithMessage:(GetVersionUpgradeVoteStatusRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + +#pragma mark getEpochsInfo(GetEpochsInfoRequest) returns (GetEpochsInfoResponse) + +- (GRPCUnaryProtoCall *)getEpochsInfoWithMessage:(GetEpochsInfoRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + @end /** @@ -247,6 +265,27 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetConsensusParamsWithRequest:(GetConsensusParamsRequest *)request handler:(void(^)(GetConsensusParamsResponse *_Nullable response, NSError *_Nullable error))handler; +#pragma mark getVersionUpgradeState(GetVersionUpgradeStateRequest) returns (GetVersionUpgradeStateResponse) + +- (void)getVersionUpgradeStateWithRequest:(GetVersionUpgradeStateRequest *)request handler:(void(^)(GetVersionUpgradeStateResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetVersionUpgradeStateWithRequest:(GetVersionUpgradeStateRequest *)request handler:(void(^)(GetVersionUpgradeStateResponse *_Nullable response, NSError *_Nullable error))handler; + + +#pragma mark getVersionUpgradeVoteStatus(GetVersionUpgradeVoteStatusRequest) returns (GetVersionUpgradeVoteStatusResponse) + +- (void)getVersionUpgradeVoteStatusWithRequest:(GetVersionUpgradeVoteStatusRequest *)request handler:(void(^)(GetVersionUpgradeVoteStatusResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetVersionUpgradeVoteStatusWithRequest:(GetVersionUpgradeVoteStatusRequest *)request handler:(void(^)(GetVersionUpgradeVoteStatusResponse *_Nullable response, NSError *_Nullable error))handler; + + +#pragma mark getEpochsInfo(GetEpochsInfoRequest) returns (GetEpochsInfoResponse) + +- (void)getEpochsInfoWithRequest:(GetEpochsInfoRequest *)request handler:(void(^)(GetEpochsInfoResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetEpochsInfoWithRequest:(GetEpochsInfoRequest *)request handler:(void(^)(GetEpochsInfoResponse *_Nullable response, NSError *_Nullable error))handler; + + @end diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m index 7bd7a4d0f1..cb331f4b60 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m @@ -370,5 +370,65 @@ - (GRPCUnaryProtoCall *)getConsensusParamsWithMessage:(GetConsensusParamsRequest responseClass:[GetConsensusParamsResponse class]]; } +#pragma mark getVersionUpgradeState(GetVersionUpgradeStateRequest) returns (GetVersionUpgradeStateResponse) + +- (void)getVersionUpgradeStateWithRequest:(GetVersionUpgradeStateRequest *)request handler:(void(^)(GetVersionUpgradeStateResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetVersionUpgradeStateWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetVersionUpgradeStateWithRequest:(GetVersionUpgradeStateRequest *)request handler:(void(^)(GetVersionUpgradeStateResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getVersionUpgradeState" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetVersionUpgradeStateResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getVersionUpgradeStateWithMessage:(GetVersionUpgradeStateRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getVersionUpgradeState" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetVersionUpgradeStateResponse class]]; +} + +#pragma mark getVersionUpgradeVoteStatus(GetVersionUpgradeVoteStatusRequest) returns (GetVersionUpgradeVoteStatusResponse) + +- (void)getVersionUpgradeVoteStatusWithRequest:(GetVersionUpgradeVoteStatusRequest *)request handler:(void(^)(GetVersionUpgradeVoteStatusResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetVersionUpgradeVoteStatusWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetVersionUpgradeVoteStatusWithRequest:(GetVersionUpgradeVoteStatusRequest *)request handler:(void(^)(GetVersionUpgradeVoteStatusResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getVersionUpgradeVoteStatus" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetVersionUpgradeVoteStatusResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getVersionUpgradeVoteStatusWithMessage:(GetVersionUpgradeVoteStatusRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getVersionUpgradeVoteStatus" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetVersionUpgradeVoteStatusResponse class]]; +} + +#pragma mark getEpochsInfo(GetEpochsInfoRequest) returns (GetEpochsInfoResponse) + +- (void)getEpochsInfoWithRequest:(GetEpochsInfoRequest *)request handler:(void(^)(GetEpochsInfoResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetEpochsInfoWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetEpochsInfoWithRequest:(GetEpochsInfoRequest *)request handler:(void(^)(GetEpochsInfoResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getEpochsInfo" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetEpochsInfoResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getEpochsInfoWithMessage:(GetEpochsInfoRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getEpochsInfo" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetEpochsInfoResponse class]]; +} + @end #endif diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py index aa0818a194..e7833a5745 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py @@ -22,7 +22,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x81\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\x0f\n\x07time_ms\x18\x03 \x01(\x04\x12\x18\n\x10protocol_version\x18\x04 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x05 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xad\x01\n\x14GetIdentitiesRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0H\x00\x1a\x34\n\x16GetIdentitiesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x04\n\x15GetIdentitiesResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0H\x00\x1a\x1e\n\rIdentityValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x1ak\n\rIdentityEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue\x1a\x66\n\nIdentities\x12X\n\x10identity_entries\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry\x1a\xe8\x01\n\x17GetIdentitiesResponseV0\x12Q\n\nidentities\x18\x01 \x01(\x0b\x32;.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentitiesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xad\x01\n\x1cGetIdentityBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xa9\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\xfc\x02\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x12\x42\x61lanceAndRevision\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\x10\n\x08revision\x18\x02 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x93\x06\n\x10GetProofsRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0H\x00\x1a\xa5\x05\n\x12GetProofsRequestV0\x12\x62\n\nidentities\x18\x01 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest\x12\x61\n\tcontracts\x18\x02 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest\x12\x61\n\tdocuments\x18\x03 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest\x1aw\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x1a\xc3\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12i\n\x0crequest_type\x18\x02 \x01(\x0e\x32S.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type\"0\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x42\t\n\x07version\"\xf6\x01\n\x11GetProofsResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0H\x00\x1a\x85\x01\n\x13GetProofsResponseV0\x12/\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc1\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xac\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xae\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x96\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xb2\x02\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05startB\t\n\x07version\"\x95\x03\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xff\x01\n%GetIdentitiesByPublicKeyHashesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0H\x00\x1aS\n\'GetIdentitiesByPublicKeyHashesRequestV0\x12\x19\n\x11public_key_hashes\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc6\x05\n&GetIdentitiesByPublicKeyHashesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0H\x00\x1a\x61\n\x1aPublicKeyHashIdentityEntry\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1a\x95\x01\n\x1bIdentitiesByPublicKeyHashes\x12v\n\x10identity_entries\x18\x01 \x03(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry\x1a\x9b\x02\n(GetIdentitiesByPublicKeyHashesResponseV0\x12s\n\nidentities\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version2\xef\x0f\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12r\n\rgetIdentities\x12/.org.dash.platform.dapi.v0.GetIdentitiesRequest\x1a\x30.org.dash.platform.dapi.v0.GetIdentitiesResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\xa5\x01\n\x1egetIdentitiesByPublicKeyHashes\x12@.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest\x1a\x41.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponseb\x06proto3' + serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x90\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x0f\n\x07time_ms\x18\x04 \x01(\x04\x12\x18\n\x10protocol_version\x18\x05 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x06 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xad\x01\n\x14GetIdentitiesRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0H\x00\x1a\x34\n\x16GetIdentitiesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x04\n\x15GetIdentitiesResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0H\x00\x1a\x1e\n\rIdentityValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x1ak\n\rIdentityEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue\x1a\x66\n\nIdentities\x12X\n\x10identity_entries\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry\x1a\xe8\x01\n\x17GetIdentitiesResponseV0\x12Q\n\nidentities\x18\x01 \x01(\x0b\x32;.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentitiesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xad\x01\n\x1cGetIdentityBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xa9\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\xfc\x02\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x12\x42\x61lanceAndRevision\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\x10\n\x08revision\x18\x02 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x93\x06\n\x10GetProofsRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0H\x00\x1a\xa5\x05\n\x12GetProofsRequestV0\x12\x62\n\nidentities\x18\x01 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest\x12\x61\n\tcontracts\x18\x02 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest\x12\x61\n\tdocuments\x18\x03 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest\x1aw\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x1a\xc3\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12i\n\x0crequest_type\x18\x02 \x01(\x0e\x32S.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type\"0\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x42\t\n\x07version\"\xf6\x01\n\x11GetProofsResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0H\x00\x1a\x85\x01\n\x13GetProofsResponseV0\x12/\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc1\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xac\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xae\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x96\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xb2\x02\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05startB\t\n\x07version\"\x95\x03\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xff\x01\n%GetIdentitiesByPublicKeyHashesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0H\x00\x1aS\n\'GetIdentitiesByPublicKeyHashesRequestV0\x12\x19\n\x11public_key_hashes\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc6\x05\n&GetIdentitiesByPublicKeyHashesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0H\x00\x1a\x61\n\x1aPublicKeyHashIdentityEntry\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1a\x95\x01\n\x1bIdentitiesByPublicKeyHashes\x12v\n\x10identity_entries\x18\x01 \x03(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry\x1a\x9b\x02\n(GetIdentitiesByPublicKeyHashesResponseV0\x12s\n\nidentities\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version\"\xc4\x01\n\x1dGetVersionUpgradeStateRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0H\x00\x1a\x30\n\x1fGetVersionUpgradeStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xf3\x04\n\x1eGetVersionUpgradeStateResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0H\x00\x1a\xdb\x03\n GetVersionUpgradeStateResponseV0\x12w\n\x08versions\x18\x01 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x85\x01\n\x08Versions\x12y\n\x08versions\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry\x1a:\n\x0cVersionEntry\x12\x16\n\x0eversion_number\x18\x01 \x01(\r\x12\x12\n\nvote_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\x82\x02\n\"GetVersionUpgradeVoteStatusRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0H\x00\x1a_\n$GetVersionUpgradeVoteStatusRequestV0\x12\x19\n\x11start_pro_tx_hash\x18\x01 \x01(\x0c\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xac\x05\n#GetVersionUpgradeVoteStatusResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0H\x00\x1a\x85\x04\n%GetVersionUpgradeVoteStatusResponseV0\x12\x87\x01\n\x08versions\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignalsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x9e\x01\n\x0eVersionSignals\x12\x8b\x01\n\x0fversion_signals\x18\x01 \x03(\x0b\x32r.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal\x1a\x35\n\rVersionSignal\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xf5\x01\n\x14GetEpochsInfoRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0H\x00\x1a|\n\x16GetEpochsInfoRequestV0\x12\x31\n\x0bstart_epoch\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x11\n\tascending\x18\x03 \x01(\x08\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\xf7\x04\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\xfa\x03\n\x17GetEpochsInfoResponseV0\x12\x65\n\x06\x65pochs\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1au\n\nEpochInfos\x12g\n\x0b\x65poch_infos\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo\x1a\x84\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1a\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x12\n\nstart_time\x18\x04 \x01(\x04\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x42\x08\n\x06resultB\t\n\x07version2\x92\x13\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12r\n\rgetIdentities\x12/.org.dash.platform.dapi.v0.GetIdentitiesRequest\x1a\x30.org.dash.platform.dapi.v0.GetIdentitiesResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\xa5\x01\n\x1egetIdentitiesByPublicKeyHashes\x12@.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest\x1a\x41.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponse\x12\x8d\x01\n\x16getVersionUpgradeState\x12\x38.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest\x1a\x39.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse\x12\x9c\x01\n\x1bgetVersionUpgradeVoteStatus\x12=.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest\x1a>.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse\x12r\n\rgetEpochsInfo\x12/.org.dash.platform.dapi.v0.GetEpochsInfoRequest\x1a\x30.org.dash.platform.dapi.v0.GetEpochsInfoResponseb\x06proto3' , dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) @@ -48,8 +48,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3800, - serialized_end=3883, + serialized_start=3815, + serialized_end=3898, ) _sym_db.RegisterEnumDescriptor(_SECURITYLEVELMAP_KEYKINDREQUESTTYPE) @@ -78,8 +78,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=5335, - serialized_end=5383, + serialized_start=5350, + serialized_end=5398, ) _sym_db.RegisterEnumDescriptor(_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE) @@ -174,22 +174,29 @@ is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='time_ms', full_name='org.dash.platform.dapi.v0.ResponseMetadata.time_ms', index=2, - number=3, type=4, cpp_type=4, label=1, + name='epoch', full_name='org.dash.platform.dapi.v0.ResponseMetadata.epoch', index=2, + number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='protocol_version', full_name='org.dash.platform.dapi.v0.ResponseMetadata.protocol_version', index=3, - number=4, type=13, cpp_type=3, label=1, + name='time_ms', full_name='org.dash.platform.dapi.v0.ResponseMetadata.time_ms', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='protocol_version', full_name='org.dash.platform.dapi.v0.ResponseMetadata.protocol_version', index=4, + number=5, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='chain_id', full_name='org.dash.platform.dapi.v0.ResponseMetadata.chain_id', index=4, - number=5, type=9, cpp_type=9, label=1, + name='chain_id', full_name='org.dash.platform.dapi.v0.ResponseMetadata.chain_id', index=5, + number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -207,7 +214,7 @@ oneofs=[ ], serialized_start=273, - serialized_end=402, + serialized_end=417, ) @@ -252,8 +259,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=404, - serialized_end=480, + serialized_start=419, + serialized_end=495, ) @@ -284,8 +291,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=482, - serialized_end=541, + serialized_start=497, + serialized_end=556, ) @@ -309,8 +316,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=543, - serialized_end=577, + serialized_start=558, + serialized_end=592, ) @@ -348,8 +355,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=684, - serialized_end=733, + serialized_start=699, + serialized_end=748, ) _GETIDENTITYREQUEST = _descriptor.Descriptor( @@ -384,8 +391,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=580, - serialized_end=744, + serialized_start=595, + serialized_end=759, ) @@ -423,8 +430,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=872, - serialized_end=928, + serialized_start=887, + serialized_end=943, ) _GETIDENTITYBALANCEREQUEST = _descriptor.Descriptor( @@ -459,8 +466,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=747, - serialized_end=939, + serialized_start=762, + serialized_end=954, ) @@ -498,8 +505,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1100, - serialized_end=1167, + serialized_start=1115, + serialized_end=1182, ) _GETIDENTITYBALANCEANDREVISIONREQUEST = _descriptor.Descriptor( @@ -534,8 +541,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=942, - serialized_end=1178, + serialized_start=957, + serialized_end=1193, ) @@ -585,8 +592,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=1289, - serialized_end=1456, + serialized_start=1304, + serialized_end=1471, ) _GETIDENTITYRESPONSE = _descriptor.Descriptor( @@ -621,8 +628,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=1181, - serialized_end=1467, + serialized_start=1196, + serialized_end=1482, ) @@ -660,8 +667,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1580, - serialized_end=1632, + serialized_start=1595, + serialized_end=1647, ) _GETIDENTITIESREQUEST = _descriptor.Descriptor( @@ -696,8 +703,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=1470, - serialized_end=1643, + serialized_start=1485, + serialized_end=1658, ) @@ -728,8 +735,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1759, - serialized_end=1789, + serialized_start=1774, + serialized_end=1804, ) _GETIDENTITIESRESPONSE_IDENTITYENTRY = _descriptor.Descriptor( @@ -766,8 +773,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1791, - serialized_end=1898, + serialized_start=1806, + serialized_end=1913, ) _GETIDENTITIESRESPONSE_IDENTITIES = _descriptor.Descriptor( @@ -797,8 +804,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1900, - serialized_end=2002, + serialized_start=1915, + serialized_end=2017, ) _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0 = _descriptor.Descriptor( @@ -847,8 +854,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=2005, - serialized_end=2237, + serialized_start=2020, + serialized_end=2252, ) _GETIDENTITIESRESPONSE = _descriptor.Descriptor( @@ -883,8 +890,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=1646, - serialized_end=2248, + serialized_start=1661, + serialized_end=2263, ) @@ -934,8 +941,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=2380, - serialized_end=2553, + serialized_start=2395, + serialized_end=2568, ) _GETIDENTITYBALANCERESPONSE = _descriptor.Descriptor( @@ -970,8 +977,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=2251, - serialized_end=2564, + serialized_start=2266, + serialized_end=2579, ) @@ -1009,8 +1016,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3044, - serialized_end=3099, + serialized_start=3059, + serialized_end=3114, ) _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 = _descriptor.Descriptor( @@ -1059,8 +1066,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=2729, - serialized_end=3109, + serialized_start=2744, + serialized_end=3124, ) _GETIDENTITYBALANCEANDREVISIONRESPONSE = _descriptor.Descriptor( @@ -1095,8 +1102,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=2567, - serialized_end=3120, + serialized_start=2582, + serialized_end=3135, ) @@ -1146,8 +1153,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=3123, - serialized_end=3332, + serialized_start=3138, + serialized_end=3347, ) @@ -1171,8 +1178,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3334, - serialized_end=3343, + serialized_start=3349, + serialized_end=3358, ) @@ -1203,8 +1210,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3345, - serialized_end=3376, + serialized_start=3360, + serialized_end=3391, ) @@ -1242,8 +1249,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3467, - serialized_end=3561, + serialized_start=3482, + serialized_end=3576, ) _SEARCHKEY = _descriptor.Descriptor( @@ -1273,8 +1280,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3379, - serialized_end=3561, + serialized_start=3394, + serialized_end=3576, ) @@ -1312,8 +1319,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3679, - serialized_end=3798, + serialized_start=3694, + serialized_end=3813, ) _SECURITYLEVELMAP = _descriptor.Descriptor( @@ -1344,8 +1351,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3564, - serialized_end=3883, + serialized_start=3579, + serialized_end=3898, ) @@ -1404,8 +1411,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4003, - serialized_end=4221, + serialized_start=4018, + serialized_end=4236, ) _GETIDENTITYKEYSREQUEST = _descriptor.Descriptor( @@ -1440,8 +1447,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=3886, - serialized_end=4232, + serialized_start=3901, + serialized_end=4247, ) @@ -1472,8 +1479,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4597, - serialized_end=4623, + serialized_start=4612, + serialized_end=4638, ) _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 = _descriptor.Descriptor( @@ -1522,8 +1529,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=4355, - serialized_end=4633, + serialized_start=4370, + serialized_end=4648, ) _GETIDENTITYKEYSRESPONSE = _descriptor.Descriptor( @@ -1558,8 +1565,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=4235, - serialized_end=4644, + serialized_start=4250, + serialized_end=4659, ) @@ -1611,8 +1618,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5066, - serialized_end=5185, + serialized_start=5081, + serialized_end=5200, ) _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST = _descriptor.Descriptor( @@ -1650,8 +1657,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5188, - serialized_end=5383, + serialized_start=5203, + serialized_end=5398, ) _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST = _descriptor.Descriptor( @@ -1681,8 +1688,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5385, - serialized_end=5423, + serialized_start=5400, + serialized_end=5438, ) _GETPROOFSREQUEST_GETPROOFSREQUESTV0 = _descriptor.Descriptor( @@ -1726,8 +1733,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4746, - serialized_end=5423, + serialized_start=4761, + serialized_end=5438, ) _GETPROOFSREQUEST = _descriptor.Descriptor( @@ -1762,8 +1769,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=4647, - serialized_end=5434, + serialized_start=4662, + serialized_end=5449, ) @@ -1801,8 +1808,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5539, - serialized_end=5672, + serialized_start=5554, + serialized_end=5687, ) _GETPROOFSRESPONSE = _descriptor.Descriptor( @@ -1837,8 +1844,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5437, - serialized_end=5683, + serialized_start=5452, + serialized_end=5698, ) @@ -1876,8 +1883,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5802, - serialized_end=5855, + serialized_start=5817, + serialized_end=5870, ) _GETDATACONTRACTREQUEST = _descriptor.Descriptor( @@ -1912,8 +1919,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5686, - serialized_end=5866, + serialized_start=5701, + serialized_end=5881, ) @@ -1963,8 +1970,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5989, - serialized_end=6165, + serialized_start=6004, + serialized_end=6180, ) _GETDATACONTRACTRESPONSE = _descriptor.Descriptor( @@ -1999,8 +2006,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5869, - serialized_end=6176, + serialized_start=5884, + serialized_end=6191, ) @@ -2038,8 +2045,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6298, - serialized_end=6353, + serialized_start=6313, + serialized_end=6368, ) _GETDATACONTRACTSREQUEST = _descriptor.Descriptor( @@ -2074,8 +2081,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6179, - serialized_end=6364, + serialized_start=6194, + serialized_end=6379, ) @@ -2113,8 +2120,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6489, - serialized_end=6580, + serialized_start=6504, + serialized_end=6595, ) _GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( @@ -2144,8 +2151,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6582, - serialized_end=6699, + serialized_start=6597, + serialized_end=6714, ) _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 = _descriptor.Descriptor( @@ -2194,8 +2201,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6702, - serialized_end=6947, + serialized_start=6717, + serialized_end=6962, ) _GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( @@ -2230,8 +2237,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6367, - serialized_end=6958, + serialized_start=6382, + serialized_end=6973, ) @@ -2290,8 +2297,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7099, - serialized_end=7271, + serialized_start=7114, + serialized_end=7286, ) _GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( @@ -2326,8 +2333,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6961, - serialized_end=7282, + serialized_start=6976, + serialized_end=7297, ) @@ -2365,8 +2372,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7722, - serialized_end=7777, + serialized_start=7737, + serialized_end=7792, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY = _descriptor.Descriptor( @@ -2396,8 +2403,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7780, - serialized_end=7950, + serialized_start=7795, + serialized_end=7965, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 = _descriptor.Descriptor( @@ -2446,8 +2453,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7426, - serialized_end=7960, + serialized_start=7441, + serialized_end=7975, ) _GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( @@ -2482,8 +2489,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7285, - serialized_end=7971, + serialized_start=7300, + serialized_end=7986, ) @@ -2568,8 +2575,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8082, - serialized_end=8269, + serialized_start=8097, + serialized_end=8284, ) _GETDOCUMENTSREQUEST = _descriptor.Descriptor( @@ -2604,8 +2611,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7974, - serialized_end=8280, + serialized_start=7989, + serialized_end=8295, ) @@ -2636,8 +2643,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8637, - serialized_end=8667, + serialized_start=8652, + serialized_end=8682, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 = _descriptor.Descriptor( @@ -2686,8 +2693,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8394, - serialized_end=8677, + serialized_start=8409, + serialized_end=8692, ) _GETDOCUMENTSRESPONSE = _descriptor.Descriptor( @@ -2722,8 +2729,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8283, - serialized_end=8688, + serialized_start=8298, + serialized_end=8703, ) @@ -2761,8 +2768,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8852, - serialized_end=8935, + serialized_start=8867, + serialized_end=8950, ) _GETIDENTITIESBYPUBLICKEYHASHESREQUEST = _descriptor.Descriptor( @@ -2797,8 +2804,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8691, - serialized_end=8946, + serialized_start=8706, + serialized_end=8961, ) @@ -2836,8 +2843,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9113, - serialized_end=9210, + serialized_start=9128, + serialized_end=9225, ) _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES = _descriptor.Descriptor( @@ -2867,8 +2874,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9213, - serialized_end=9362, + serialized_start=9228, + serialized_end=9377, ) _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0 = _descriptor.Descriptor( @@ -2917,8 +2924,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9365, - serialized_end=9648, + serialized_start=9380, + serialized_end=9663, ) _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE = _descriptor.Descriptor( @@ -2953,8 +2960,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8949, - serialized_end=9659, + serialized_start=8964, + serialized_end=9674, ) @@ -2992,8 +2999,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9811, - serialized_end=9888, + serialized_start=9826, + serialized_end=9903, ) _GETIDENTITYBYPUBLICKEYHASHREQUEST = _descriptor.Descriptor( @@ -3028,8 +3035,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9662, - serialized_end=9899, + serialized_start=9677, + serialized_end=9914, ) @@ -3079,8 +3086,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10055, - serialized_end=10237, + serialized_start=10070, + serialized_end=10252, ) _GETIDENTITYBYPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( @@ -3115,8 +3122,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9902, - serialized_end=10248, + serialized_start=9917, + serialized_end=10263, ) @@ -3154,8 +3161,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10406, - serialized_end=10491, + serialized_start=10421, + serialized_end=10506, ) _WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( @@ -3190,8 +3197,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10251, - serialized_end=10502, + serialized_start=10266, + serialized_end=10517, ) @@ -3241,8 +3248,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10664, - serialized_end=10903, + serialized_start=10679, + serialized_end=10918, ) _WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( @@ -3277,8 +3284,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10505, - serialized_end=10914, + serialized_start=10520, + serialized_end=10929, ) @@ -3316,8 +3323,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11042, - serialized_end=11102, + serialized_start=11057, + serialized_end=11117, ) _GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( @@ -3352,8 +3359,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10917, - serialized_end=11113, + serialized_start=10932, + serialized_end=11128, ) @@ -3398,8 +3405,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11244, - serialized_end=11324, + serialized_start=11259, + serialized_end=11339, ) _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( @@ -3443,8 +3450,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11326, - serialized_end=11424, + serialized_start=11341, + serialized_end=11439, ) _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor( @@ -3481,8 +3488,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11427, - serialized_end=11645, + serialized_start=11442, + serialized_end=11660, ) _GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor( @@ -3517,258 +3524,986 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=11116, - serialized_end=11656, + serialized_start=11131, + serialized_end=11671, ) -_GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST -_GETIDENTITYREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0 -_GETIDENTITYREQUEST.oneofs_by_name['version'].fields.append( - _GETIDENTITYREQUEST.fields_by_name['v0']) -_GETIDENTITYREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYREQUEST.oneofs_by_name['version'] -_GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0.containing_type = _GETIDENTITYBALANCEREQUEST -_GETIDENTITYBALANCEREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0 -_GETIDENTITYBALANCEREQUEST.oneofs_by_name['version'].fields.append( - _GETIDENTITYBALANCEREQUEST.fields_by_name['v0']) -_GETIDENTITYBALANCEREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEREQUEST.oneofs_by_name['version'] -_GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0.containing_type = _GETIDENTITYBALANCEANDREVISIONREQUEST -_GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0 -_GETIDENTITYBALANCEANDREVISIONREQUEST.oneofs_by_name['version'].fields.append( - _GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0']) -_GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONREQUEST.oneofs_by_name['version'] -_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.containing_type = _GETIDENTITYRESPONSE -_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['identity']) -_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['identity'].containing_oneof = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof']) -_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0 -_GETIDENTITYRESPONSE.oneofs_by_name['version'].fields.append( - _GETIDENTITYRESPONSE.fields_by_name['v0']) -_GETIDENTITYRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYRESPONSE.oneofs_by_name['version'] -_GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0.containing_type = _GETIDENTITIESREQUEST -_GETIDENTITIESREQUEST.fields_by_name['v0'].message_type = _GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0 -_GETIDENTITIESREQUEST.oneofs_by_name['version'].fields.append( - _GETIDENTITIESREQUEST.fields_by_name['v0']) -_GETIDENTITIESREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITIESREQUEST.oneofs_by_name['version'] -_GETIDENTITIESRESPONSE_IDENTITYVALUE.containing_type = _GETIDENTITIESRESPONSE -_GETIDENTITIESRESPONSE_IDENTITYENTRY.fields_by_name['value'].message_type = _GETIDENTITIESRESPONSE_IDENTITYVALUE -_GETIDENTITIESRESPONSE_IDENTITYENTRY.containing_type = _GETIDENTITIESRESPONSE -_GETIDENTITIESRESPONSE_IDENTITIES.fields_by_name['identity_entries'].message_type = _GETIDENTITIESRESPONSE_IDENTITYENTRY -_GETIDENTITIESRESPONSE_IDENTITIES.containing_type = _GETIDENTITIESRESPONSE -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities'].message_type = _GETIDENTITIESRESPONSE_IDENTITIES -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.containing_type = _GETIDENTITIESRESPONSE -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities']) -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities'].containing_oneof = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof']) -_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITIESRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0 -_GETIDENTITIESRESPONSE.oneofs_by_name['version'].fields.append( - _GETIDENTITIESRESPONSE.fields_by_name['v0']) -_GETIDENTITIESRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITIESRESPONSE.oneofs_by_name['version'] -_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.containing_type = _GETIDENTITYBALANCERESPONSE -_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['balance']) -_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['balance'].containing_oneof = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof']) -_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYBALANCERESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0 -_GETIDENTITYBALANCERESPONSE.oneofs_by_name['version'].fields.append( - _GETIDENTITYBALANCERESPONSE.fields_by_name['v0']) -_GETIDENTITYBALANCERESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCERESPONSE.oneofs_by_name['version'] -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION.containing_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision'].message_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.containing_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision']) -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof']) -_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 -_GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['version'].fields.append( - _GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0']) -_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['version'] -_KEYREQUESTTYPE.fields_by_name['all_keys'].message_type = _ALLKEYS -_KEYREQUESTTYPE.fields_by_name['specific_keys'].message_type = _SPECIFICKEYS -_KEYREQUESTTYPE.fields_by_name['search_key'].message_type = _SEARCHKEY -_KEYREQUESTTYPE.oneofs_by_name['request'].fields.append( - _KEYREQUESTTYPE.fields_by_name['all_keys']) -_KEYREQUESTTYPE.fields_by_name['all_keys'].containing_oneof = _KEYREQUESTTYPE.oneofs_by_name['request'] -_KEYREQUESTTYPE.oneofs_by_name['request'].fields.append( - _KEYREQUESTTYPE.fields_by_name['specific_keys']) -_KEYREQUESTTYPE.fields_by_name['specific_keys'].containing_oneof = _KEYREQUESTTYPE.oneofs_by_name['request'] -_KEYREQUESTTYPE.oneofs_by_name['request'].fields.append( - _KEYREQUESTTYPE.fields_by_name['search_key']) -_KEYREQUESTTYPE.fields_by_name['search_key'].containing_oneof = _KEYREQUESTTYPE.oneofs_by_name['request'] -_SEARCHKEY_PURPOSEMAPENTRY.fields_by_name['value'].message_type = _SECURITYLEVELMAP -_SEARCHKEY_PURPOSEMAPENTRY.containing_type = _SEARCHKEY -_SEARCHKEY.fields_by_name['purpose_map'].message_type = _SEARCHKEY_PURPOSEMAPENTRY -_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY.fields_by_name['value'].enum_type = _SECURITYLEVELMAP_KEYKINDREQUESTTYPE -_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY.containing_type = _SECURITYLEVELMAP -_SECURITYLEVELMAP.fields_by_name['security_level_map'].message_type = _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY -_SECURITYLEVELMAP_KEYKINDREQUESTTYPE.containing_type = _SECURITYLEVELMAP -_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['request_type'].message_type = _KEYREQUESTTYPE -_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.containing_type = _GETIDENTITYKEYSREQUEST -_GETIDENTITYKEYSREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0 -_GETIDENTITYKEYSREQUEST.oneofs_by_name['version'].fields.append( - _GETIDENTITYKEYSREQUEST.fields_by_name['v0']) -_GETIDENTITYKEYSREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYKEYSREQUEST.oneofs_by_name['version'] -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS.containing_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys'].message_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.containing_type = _GETIDENTITYKEYSRESPONSE -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys']) -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys'].containing_oneof = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof']) -_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'] -_GETIDENTITYKEYSRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 -_GETIDENTITYKEYSRESPONSE.oneofs_by_name['version'].fields.append( - _GETIDENTITYKEYSRESPONSE.fields_by_name['v0']) -_GETIDENTITYKEYSRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYKEYSRESPONSE.oneofs_by_name['version'] -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST.fields_by_name['request_type'].enum_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST -_GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 -_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['identities'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST -_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['contracts'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST -_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['documents'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST -_GETPROOFSREQUEST_GETPROOFSREQUESTV0.containing_type = _GETPROOFSREQUEST -_GETPROOFSREQUEST.fields_by_name['v0'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 -_GETPROOFSREQUEST.oneofs_by_name['version'].fields.append( - _GETPROOFSREQUEST.fields_by_name['v0']) -_GETPROOFSREQUEST.fields_by_name['v0'].containing_oneof = _GETPROOFSREQUEST.oneofs_by_name['version'] -_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.containing_type = _GETPROOFSRESPONSE -_GETPROOFSRESPONSE.fields_by_name['v0'].message_type = _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0 -_GETPROOFSRESPONSE.oneofs_by_name['version'].fields.append( - _GETPROOFSRESPONSE.fields_by_name['v0']) -_GETPROOFSRESPONSE.fields_by_name['v0'].containing_oneof = _GETPROOFSRESPONSE.oneofs_by_name['version'] -_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0.containing_type = _GETDATACONTRACTREQUEST -_GETDATACONTRACTREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0 -_GETDATACONTRACTREQUEST.oneofs_by_name['version'].fields.append( - _GETDATACONTRACTREQUEST.fields_by_name['v0']) -_GETDATACONTRACTREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTREQUEST.oneofs_by_name['version'] -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.containing_type = _GETDATACONTRACTRESPONSE -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['data_contract']) -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['data_contract'].containing_oneof = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'] -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof']) -_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'] -_GETDATACONTRACTRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0 -_GETDATACONTRACTRESPONSE.oneofs_by_name['version'].fields.append( - _GETDATACONTRACTRESPONSE.fields_by_name['v0']) -_GETDATACONTRACTRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTRESPONSE.oneofs_by_name['version'] -_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0.containing_type = _GETDATACONTRACTSREQUEST -_GETDATACONTRACTSREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0 -_GETDATACONTRACTSREQUEST.oneofs_by_name['version'].fields.append( - _GETDATACONTRACTSREQUEST.fields_by_name['v0']) -_GETDATACONTRACTSREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTSREQUEST.oneofs_by_name['version'] -_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY.fields_by_name['data_contract'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE -_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY.containing_type = _GETDATACONTRACTSRESPONSE -_GETDATACONTRACTSRESPONSE_DATACONTRACTS.fields_by_name['data_contract_entries'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY -_GETDATACONTRACTSRESPONSE_DATACONTRACTS.containing_type = _GETDATACONTRACTSRESPONSE -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTS -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.containing_type = _GETDATACONTRACTSRESPONSE -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts']) -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts'].containing_oneof = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'] -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof']) -_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'] -_GETDATACONTRACTSRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 -_GETDATACONTRACTSRESPONSE.oneofs_by_name['version'].fields.append( - _GETDATACONTRACTSRESPONSE.fields_by_name['v0']) -_GETDATACONTRACTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTSRESPONSE.oneofs_by_name['version'] -_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE -_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.containing_type = _GETDATACONTRACTHISTORYREQUEST -_GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0 -_GETDATACONTRACTHISTORYREQUEST.oneofs_by_name['version'].fields.append( - _GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0']) -_GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTHISTORYREQUEST.oneofs_by_name['version'] -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY.containing_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY.fields_by_name['data_contract_entries'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY.containing_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.containing_type = _GETDATACONTRACTHISTORYRESPONSE -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history']) -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'] -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof']) -_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'] -_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 -_GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['version'].fields.append( - _GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0']) -_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['version'] -_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.containing_type = _GETDOCUMENTSREQUEST -_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'].fields.append( - _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_after']) -_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_after'].containing_oneof = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'] -_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'].fields.append( - _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_at']) -_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_at'].containing_oneof = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'] -_GETDOCUMENTSREQUEST.fields_by_name['v0'].message_type = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 -_GETDOCUMENTSREQUEST.oneofs_by_name['version'].fields.append( - _GETDOCUMENTSREQUEST.fields_by_name['v0']) -_GETDOCUMENTSREQUEST.fields_by_name['v0'].containing_oneof = _GETDOCUMENTSREQUEST.oneofs_by_name['version'] -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS.containing_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents'].message_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.containing_type = _GETDOCUMENTSRESPONSE -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents']) -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents'].containing_oneof = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'] -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof']) -_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'] -_GETDOCUMENTSRESPONSE.fields_by_name['v0'].message_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 -_GETDOCUMENTSRESPONSE.oneofs_by_name['version'].fields.append( - _GETDOCUMENTSRESPONSE.fields_by_name['v0']) -_GETDOCUMENTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETDOCUMENTSRESPONSE.oneofs_by_name['version'] -_GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST -_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0 -_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.oneofs_by_name['version'].fields.append( - _GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0']) -_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST.oneofs_by_name['version'] -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES.fields_by_name['identity_entries'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['proof'].message_type = _PROOF -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE -_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'].fields.append( - _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities']) + +_GETVERSIONUPGRADESTATEREQUEST_GETVERSIONUPGRADESTATEREQUESTV0 = _descriptor.Descriptor( + name='GetVersionUpgradeStateRequestV0', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prove', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11811, + serialized_end=11859, +) + +_GETVERSIONUPGRADESTATEREQUEST = _descriptor.Descriptor( + name='GetVersionUpgradeStateRequest', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETVERSIONUPGRADESTATEREQUEST_GETVERSIONUPGRADESTATEREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=11674, + serialized_end=11870, +) + + +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONS = _descriptor.Descriptor( + name='Versions', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='versions', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.versions', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12286, + serialized_end=12419, +) + +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY = _descriptor.Descriptor( + name='VersionEntry', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='version_number', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.version_number', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='vote_count', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.vote_count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12421, + serialized_end=12479, +) + +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0 = _descriptor.Descriptor( + name='GetVersionUpgradeStateResponseV0', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='versions', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.versions', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONS, _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=12014, + serialized_end=12489, +) + +_GETVERSIONUPGRADESTATERESPONSE = _descriptor.Descriptor( + name='GetVersionUpgradeStateResponse', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=11873, + serialized_end=12500, +) + + +_GETVERSIONUPGRADEVOTESTATUSREQUEST_GETVERSIONUPGRADEVOTESTATUSREQUESTV0 = _descriptor.Descriptor( + name='GetVersionUpgradeVoteStatusRequestV0', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.start_pro_tx_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prove', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12655, + serialized_end=12750, +) + +_GETVERSIONUPGRADEVOTESTATUSREQUEST = _descriptor.Descriptor( + name='GetVersionUpgradeVoteStatusRequest', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETVERSIONUPGRADEVOTESTATUSREQUEST_GETVERSIONUPGRADEVOTESTATUSREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=12503, + serialized_end=12761, +) + + +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS = _descriptor.Descriptor( + name='VersionSignals', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='version_signals', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.version_signals', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13214, + serialized_end=13372, +) + +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL = _descriptor.Descriptor( + name='VersionSignal', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pro_tx_hash', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.pro_tx_hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.version', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13374, + serialized_end=13427, +) + +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0 = _descriptor.Descriptor( + name='GetVersionUpgradeVoteStatusResponseV0', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='versions', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.versions', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS, _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=12920, + serialized_end=13437, +) + +_GETVERSIONUPGRADEVOTESTATUSRESPONSE = _descriptor.Descriptor( + name='GetVersionUpgradeVoteStatusResponse', + full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=12764, + serialized_end=13448, +) + + +_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0 = _descriptor.Descriptor( + name='GetEpochsInfoRequestV0', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_epoch', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.start_epoch', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ascending', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.ascending', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prove', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13561, + serialized_end=13685, +) + +_GETEPOCHSINFOREQUEST = _descriptor.Descriptor( + name='GetEpochsInfoRequest', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=13451, + serialized_end=13696, +) + + +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS = _descriptor.Descriptor( + name='EpochInfos', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='epoch_infos', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.epoch_infos', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14057, + serialized_end=14174, +) + +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO = _descriptor.Descriptor( + name='EpochInfo', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='number', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.number', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='first_block_height', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.first_block_height', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='first_core_block_height', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.first_core_block_height', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.start_time', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_multiplier', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.fee_multiplier', index=4, + number=5, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14177, + serialized_end=14309, +) + +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 = _descriptor.Descriptor( + name='GetEpochsInfoResponseV0', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='epochs', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.epochs', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS, _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=13813, + serialized_end=14319, +) + +_GETEPOCHSINFORESPONSE = _descriptor.Descriptor( + name='GetEpochsInfoResponse', + full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetEpochsInfoResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=13699, + serialized_end=14330, +) + +_GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST +_GETIDENTITYREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0 +_GETIDENTITYREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYREQUEST.fields_by_name['v0']) +_GETIDENTITYREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYREQUEST.oneofs_by_name['version'] +_GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0.containing_type = _GETIDENTITYBALANCEREQUEST +_GETIDENTITYBALANCEREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEREQUEST_GETIDENTITYBALANCEREQUESTV0 +_GETIDENTITYBALANCEREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCEREQUEST.fields_by_name['v0']) +_GETIDENTITYBALANCEREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEREQUEST.oneofs_by_name['version'] +_GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0.containing_type = _GETIDENTITYBALANCEANDREVISIONREQUEST +_GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEANDREVISIONREQUEST_GETIDENTITYBALANCEANDREVISIONREQUESTV0 +_GETIDENTITYBALANCEANDREVISIONREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0']) +_GETIDENTITYBALANCEANDREVISIONREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONREQUEST.oneofs_by_name['version'] +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.containing_type = _GETIDENTITYRESPONSE +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['identity']) +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['identity'].containing_oneof = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof']) +_GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYRESPONSE_GETIDENTITYRESPONSEV0 +_GETIDENTITYRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYRESPONSE.fields_by_name['v0']) +_GETIDENTITYRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYRESPONSE.oneofs_by_name['version'] +_GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0.containing_type = _GETIDENTITIESREQUEST +_GETIDENTITIESREQUEST.fields_by_name['v0'].message_type = _GETIDENTITIESREQUEST_GETIDENTITIESREQUESTV0 +_GETIDENTITIESREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITIESREQUEST.fields_by_name['v0']) +_GETIDENTITIESREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITIESREQUEST.oneofs_by_name['version'] +_GETIDENTITIESRESPONSE_IDENTITYVALUE.containing_type = _GETIDENTITIESRESPONSE +_GETIDENTITIESRESPONSE_IDENTITYENTRY.fields_by_name['value'].message_type = _GETIDENTITIESRESPONSE_IDENTITYVALUE +_GETIDENTITIESRESPONSE_IDENTITYENTRY.containing_type = _GETIDENTITIESRESPONSE +_GETIDENTITIESRESPONSE_IDENTITIES.fields_by_name['identity_entries'].message_type = _GETIDENTITIESRESPONSE_IDENTITYENTRY +_GETIDENTITIESRESPONSE_IDENTITIES.containing_type = _GETIDENTITIESRESPONSE +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities'].message_type = _GETIDENTITIESRESPONSE_IDENTITIES +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.containing_type = _GETIDENTITIESRESPONSE +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities']) +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['identities'].containing_oneof = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof']) +_GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITIESRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITIESRESPONSE_GETIDENTITIESRESPONSEV0 +_GETIDENTITIESRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITIESRESPONSE.fields_by_name['v0']) +_GETIDENTITIESRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITIESRESPONSE.oneofs_by_name['version'] +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.containing_type = _GETIDENTITYBALANCERESPONSE +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['balance']) +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['balance'].containing_oneof = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof']) +_GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCERESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBALANCERESPONSE_GETIDENTITYBALANCERESPONSEV0 +_GETIDENTITYBALANCERESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCERESPONSE.fields_by_name['v0']) +_GETIDENTITYBALANCERESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCERESPONSE.oneofs_by_name['version'] +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION.containing_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision'].message_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0_BALANCEANDREVISION +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.containing_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision']) +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['balance_and_revision'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof']) +_GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBALANCEANDREVISIONRESPONSE_GETIDENTITYBALANCEANDREVISIONRESPONSEV0 +_GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0']) +_GETIDENTITYBALANCEANDREVISIONRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBALANCEANDREVISIONRESPONSE.oneofs_by_name['version'] +_KEYREQUESTTYPE.fields_by_name['all_keys'].message_type = _ALLKEYS +_KEYREQUESTTYPE.fields_by_name['specific_keys'].message_type = _SPECIFICKEYS +_KEYREQUESTTYPE.fields_by_name['search_key'].message_type = _SEARCHKEY +_KEYREQUESTTYPE.oneofs_by_name['request'].fields.append( + _KEYREQUESTTYPE.fields_by_name['all_keys']) +_KEYREQUESTTYPE.fields_by_name['all_keys'].containing_oneof = _KEYREQUESTTYPE.oneofs_by_name['request'] +_KEYREQUESTTYPE.oneofs_by_name['request'].fields.append( + _KEYREQUESTTYPE.fields_by_name['specific_keys']) +_KEYREQUESTTYPE.fields_by_name['specific_keys'].containing_oneof = _KEYREQUESTTYPE.oneofs_by_name['request'] +_KEYREQUESTTYPE.oneofs_by_name['request'].fields.append( + _KEYREQUESTTYPE.fields_by_name['search_key']) +_KEYREQUESTTYPE.fields_by_name['search_key'].containing_oneof = _KEYREQUESTTYPE.oneofs_by_name['request'] +_SEARCHKEY_PURPOSEMAPENTRY.fields_by_name['value'].message_type = _SECURITYLEVELMAP +_SEARCHKEY_PURPOSEMAPENTRY.containing_type = _SEARCHKEY +_SEARCHKEY.fields_by_name['purpose_map'].message_type = _SEARCHKEY_PURPOSEMAPENTRY +_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY.fields_by_name['value'].enum_type = _SECURITYLEVELMAP_KEYKINDREQUESTTYPE +_SECURITYLEVELMAP_SECURITYLEVELMAPENTRY.containing_type = _SECURITYLEVELMAP +_SECURITYLEVELMAP.fields_by_name['security_level_map'].message_type = _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY +_SECURITYLEVELMAP_KEYKINDREQUESTTYPE.containing_type = _SECURITYLEVELMAP +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['request_type'].message_type = _KEYREQUESTTYPE +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0.containing_type = _GETIDENTITYKEYSREQUEST +_GETIDENTITYKEYSREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYKEYSREQUEST_GETIDENTITYKEYSREQUESTV0 +_GETIDENTITYKEYSREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITYKEYSREQUEST.fields_by_name['v0']) +_GETIDENTITYKEYSREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYKEYSREQUEST.oneofs_by_name['version'] +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS.containing_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys'].message_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0_KEYS +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.containing_type = _GETIDENTITYKEYSRESPONSE +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys']) +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['keys'].containing_oneof = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof']) +_GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0.oneofs_by_name['result'] +_GETIDENTITYKEYSRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYKEYSRESPONSE_GETIDENTITYKEYSRESPONSEV0 +_GETIDENTITYKEYSRESPONSE.oneofs_by_name['version'].fields.append( + _GETIDENTITYKEYSRESPONSE.fields_by_name['v0']) +_GETIDENTITYKEYSRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYKEYSRESPONSE.oneofs_by_name['version'] +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST.fields_by_name['request_type'].enum_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST_TYPE.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST.containing_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['identities'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_IDENTITYREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['contracts'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_CONTRACTREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.fields_by_name['documents'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0_DOCUMENTREQUEST +_GETPROOFSREQUEST_GETPROOFSREQUESTV0.containing_type = _GETPROOFSREQUEST +_GETPROOFSREQUEST.fields_by_name['v0'].message_type = _GETPROOFSREQUEST_GETPROOFSREQUESTV0 +_GETPROOFSREQUEST.oneofs_by_name['version'].fields.append( + _GETPROOFSREQUEST.fields_by_name['v0']) +_GETPROOFSREQUEST.fields_by_name['v0'].containing_oneof = _GETPROOFSREQUEST.oneofs_by_name['version'] +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.containing_type = _GETPROOFSRESPONSE +_GETPROOFSRESPONSE.fields_by_name['v0'].message_type = _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0 +_GETPROOFSRESPONSE.oneofs_by_name['version'].fields.append( + _GETPROOFSRESPONSE.fields_by_name['v0']) +_GETPROOFSRESPONSE.fields_by_name['v0'].containing_oneof = _GETPROOFSRESPONSE.oneofs_by_name['version'] +_GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0.containing_type = _GETDATACONTRACTREQUEST +_GETDATACONTRACTREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTREQUEST_GETDATACONTRACTREQUESTV0 +_GETDATACONTRACTREQUEST.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTREQUEST.fields_by_name['v0']) +_GETDATACONTRACTREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTREQUEST.oneofs_by_name['version'] +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.containing_type = _GETDATACONTRACTRESPONSE +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['data_contract']) +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['data_contract'].containing_oneof = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof']) +_GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTRESPONSE_GETDATACONTRACTRESPONSEV0 +_GETDATACONTRACTRESPONSE.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTRESPONSE.fields_by_name['v0']) +_GETDATACONTRACTRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTRESPONSE.oneofs_by_name['version'] +_GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0.containing_type = _GETDATACONTRACTSREQUEST +_GETDATACONTRACTSREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTSREQUEST_GETDATACONTRACTSREQUESTV0 +_GETDATACONTRACTSREQUEST.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTSREQUEST.fields_by_name['v0']) +_GETDATACONTRACTSREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTSREQUEST.oneofs_by_name['version'] +_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY.fields_by_name['data_contract'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE +_GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY.containing_type = _GETDATACONTRACTSRESPONSE +_GETDATACONTRACTSRESPONSE_DATACONTRACTS.fields_by_name['data_contract_entries'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTENTRY +_GETDATACONTRACTSRESPONSE_DATACONTRACTS.containing_type = _GETDATACONTRACTSRESPONSE +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts'].message_type = _GETDATACONTRACTSRESPONSE_DATACONTRACTS +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.containing_type = _GETDATACONTRACTSRESPONSE +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts']) +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['data_contracts'].containing_oneof = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof']) +_GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTSRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 +_GETDATACONTRACTSRESPONSE.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTSRESPONSE.fields_by_name['v0']) +_GETDATACONTRACTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTSRESPONSE.oneofs_by_name['version'] +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['offset'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.containing_type = _GETDATACONTRACTHISTORYREQUEST +_GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0'].message_type = _GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0 +_GETDATACONTRACTHISTORYREQUEST.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0']) +_GETDATACONTRACTHISTORYREQUEST.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTHISTORYREQUEST.oneofs_by_name['version'] +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY.containing_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY.fields_by_name['data_contract_entries'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY.containing_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.containing_type = _GETDATACONTRACTHISTORYRESPONSE +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history']) +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['data_contract_history'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof']) +_GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0.oneofs_by_name['result'] +_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0'].message_type = _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 +_GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['version'].fields.append( + _GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0']) +_GETDATACONTRACTHISTORYRESPONSE.fields_by_name['v0'].containing_oneof = _GETDATACONTRACTHISTORYRESPONSE.oneofs_by_name['version'] +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.containing_type = _GETDOCUMENTSREQUEST +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'].fields.append( + _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_after']) +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_after'].containing_oneof = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'] +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'].fields.append( + _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_at']) +_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.fields_by_name['start_at'].containing_oneof = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0.oneofs_by_name['start'] +_GETDOCUMENTSREQUEST.fields_by_name['v0'].message_type = _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 +_GETDOCUMENTSREQUEST.oneofs_by_name['version'].fields.append( + _GETDOCUMENTSREQUEST.fields_by_name['v0']) +_GETDOCUMENTSREQUEST.fields_by_name['v0'].containing_oneof = _GETDOCUMENTSREQUEST.oneofs_by_name['version'] +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS.containing_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents'].message_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0_DOCUMENTS +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.containing_type = _GETDOCUMENTSRESPONSE +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents']) +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['documents'].containing_oneof = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'] +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof']) +_GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0.oneofs_by_name['result'] +_GETDOCUMENTSRESPONSE.fields_by_name['v0'].message_type = _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 +_GETDOCUMENTSRESPONSE.oneofs_by_name['version'].fields.append( + _GETDOCUMENTSRESPONSE.fields_by_name['v0']) +_GETDOCUMENTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETDOCUMENTSRESPONSE.oneofs_by_name['version'] +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST_GETIDENTITIESBYPUBLICKEYHASHESREQUESTV0 +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.oneofs_by_name['version'].fields.append( + _GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0']) +_GETIDENTITIESBYPUBLICKEYHASHESREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESREQUEST.oneofs_by_name['version'] +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES.fields_by_name['identity_entries'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_PUBLICKEYHASHIDENTITYENTRY +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities'].message_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.containing_type = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE +_GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities']) _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['identities'].containing_oneof = _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'] _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.oneofs_by_name['result'].fields.append( _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0.fields_by_name['proof']) @@ -3828,6 +4563,73 @@ _GETCONSENSUSPARAMSRESPONSE.oneofs_by_name['version'].fields.append( _GETCONSENSUSPARAMSRESPONSE.fields_by_name['v0']) _GETCONSENSUSPARAMSRESPONSE.fields_by_name['v0'].containing_oneof = _GETCONSENSUSPARAMSRESPONSE.oneofs_by_name['version'] +_GETVERSIONUPGRADESTATEREQUEST_GETVERSIONUPGRADESTATEREQUESTV0.containing_type = _GETVERSIONUPGRADESTATEREQUEST +_GETVERSIONUPGRADESTATEREQUEST.fields_by_name['v0'].message_type = _GETVERSIONUPGRADESTATEREQUEST_GETVERSIONUPGRADESTATEREQUESTV0 +_GETVERSIONUPGRADESTATEREQUEST.oneofs_by_name['version'].fields.append( + _GETVERSIONUPGRADESTATEREQUEST.fields_by_name['v0']) +_GETVERSIONUPGRADESTATEREQUEST.fields_by_name['v0'].containing_oneof = _GETVERSIONUPGRADESTATEREQUEST.oneofs_by_name['version'] +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONS.fields_by_name['versions'].message_type = _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONS.containing_type = _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0 +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY.containing_type = _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0 +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.fields_by_name['versions'].message_type = _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONS +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.containing_type = _GETVERSIONUPGRADESTATERESPONSE +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.oneofs_by_name['result'].fields.append( + _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.fields_by_name['versions']) +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.fields_by_name['versions'].containing_oneof = _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.oneofs_by_name['result'] +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.oneofs_by_name['result'].fields.append( + _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.fields_by_name['proof']) +_GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.fields_by_name['proof'].containing_oneof = _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0.oneofs_by_name['result'] +_GETVERSIONUPGRADESTATERESPONSE.fields_by_name['v0'].message_type = _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0 +_GETVERSIONUPGRADESTATERESPONSE.oneofs_by_name['version'].fields.append( + _GETVERSIONUPGRADESTATERESPONSE.fields_by_name['v0']) +_GETVERSIONUPGRADESTATERESPONSE.fields_by_name['v0'].containing_oneof = _GETVERSIONUPGRADESTATERESPONSE.oneofs_by_name['version'] +_GETVERSIONUPGRADEVOTESTATUSREQUEST_GETVERSIONUPGRADEVOTESTATUSREQUESTV0.containing_type = _GETVERSIONUPGRADEVOTESTATUSREQUEST +_GETVERSIONUPGRADEVOTESTATUSREQUEST.fields_by_name['v0'].message_type = _GETVERSIONUPGRADEVOTESTATUSREQUEST_GETVERSIONUPGRADEVOTESTATUSREQUESTV0 +_GETVERSIONUPGRADEVOTESTATUSREQUEST.oneofs_by_name['version'].fields.append( + _GETVERSIONUPGRADEVOTESTATUSREQUEST.fields_by_name['v0']) +_GETVERSIONUPGRADEVOTESTATUSREQUEST.fields_by_name['v0'].containing_oneof = _GETVERSIONUPGRADEVOTESTATUSREQUEST.oneofs_by_name['version'] +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS.fields_by_name['version_signals'].message_type = _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS.containing_type = _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0 +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL.containing_type = _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0 +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.fields_by_name['versions'].message_type = _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.containing_type = _GETVERSIONUPGRADEVOTESTATUSRESPONSE +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.fields_by_name['versions']) +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.fields_by_name['versions'].containing_oneof = _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.oneofs_by_name['result'] +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.fields_by_name['proof']) +_GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0.oneofs_by_name['result'] +_GETVERSIONUPGRADEVOTESTATUSRESPONSE.fields_by_name['v0'].message_type = _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0 +_GETVERSIONUPGRADEVOTESTATUSRESPONSE.oneofs_by_name['version'].fields.append( + _GETVERSIONUPGRADEVOTESTATUSRESPONSE.fields_by_name['v0']) +_GETVERSIONUPGRADEVOTESTATUSRESPONSE.fields_by_name['v0'].containing_oneof = _GETVERSIONUPGRADEVOTESTATUSRESPONSE.oneofs_by_name['version'] +_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0.fields_by_name['start_epoch'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE +_GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0.containing_type = _GETEPOCHSINFOREQUEST +_GETEPOCHSINFOREQUEST.fields_by_name['v0'].message_type = _GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0 +_GETEPOCHSINFOREQUEST.oneofs_by_name['version'].fields.append( + _GETEPOCHSINFOREQUEST.fields_by_name['v0']) +_GETEPOCHSINFOREQUEST.fields_by_name['v0'].containing_oneof = _GETEPOCHSINFOREQUEST.oneofs_by_name['version'] +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS.fields_by_name['epoch_infos'].message_type = _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS.containing_type = _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO.containing_type = _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.fields_by_name['epochs'].message_type = _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.containing_type = _GETEPOCHSINFORESPONSE +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.oneofs_by_name['result'].fields.append( + _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.fields_by_name['epochs']) +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.fields_by_name['epochs'].containing_oneof = _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.oneofs_by_name['result'] +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.oneofs_by_name['result'].fields.append( + _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.fields_by_name['proof']) +_GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.fields_by_name['proof'].containing_oneof = _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0.oneofs_by_name['result'] +_GETEPOCHSINFORESPONSE.fields_by_name['v0'].message_type = _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 +_GETEPOCHSINFORESPONSE.oneofs_by_name['version'].fields.append( + _GETEPOCHSINFORESPONSE.fields_by_name['v0']) +_GETEPOCHSINFORESPONSE.fields_by_name['v0'].containing_oneof = _GETEPOCHSINFORESPONSE.oneofs_by_name['version'] DESCRIPTOR.message_types_by_name['Proof'] = _PROOF DESCRIPTOR.message_types_by_name['ResponseMetadata'] = _RESPONSEMETADATA DESCRIPTOR.message_types_by_name['StateTransitionBroadcastError'] = _STATETRANSITIONBROADCASTERROR @@ -3866,6 +4668,12 @@ DESCRIPTOR.message_types_by_name['WaitForStateTransitionResultResponse'] = _WAITFORSTATETRANSITIONRESULTRESPONSE DESCRIPTOR.message_types_by_name['GetConsensusParamsRequest'] = _GETCONSENSUSPARAMSREQUEST DESCRIPTOR.message_types_by_name['GetConsensusParamsResponse'] = _GETCONSENSUSPARAMSRESPONSE +DESCRIPTOR.message_types_by_name['GetVersionUpgradeStateRequest'] = _GETVERSIONUPGRADESTATEREQUEST +DESCRIPTOR.message_types_by_name['GetVersionUpgradeStateResponse'] = _GETVERSIONUPGRADESTATERESPONSE +DESCRIPTOR.message_types_by_name['GetVersionUpgradeVoteStatusRequest'] = _GETVERSIONUPGRADEVOTESTATUSREQUEST +DESCRIPTOR.message_types_by_name['GetVersionUpgradeVoteStatusResponse'] = _GETVERSIONUPGRADEVOTESTATUSRESPONSE +DESCRIPTOR.message_types_by_name['GetEpochsInfoRequest'] = _GETEPOCHSINFOREQUEST +DESCRIPTOR.message_types_by_name['GetEpochsInfoResponse'] = _GETEPOCHSINFORESPONSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) Proof = _reflection.GeneratedProtocolMessageType('Proof', (_message.Message,), { @@ -4510,6 +5318,144 @@ _sym_db.RegisterMessage(GetConsensusParamsResponse.ConsensusParamsEvidence) _sym_db.RegisterMessage(GetConsensusParamsResponse.GetConsensusParamsResponseV0) +GetVersionUpgradeStateRequest = _reflection.GeneratedProtocolMessageType('GetVersionUpgradeStateRequest', (_message.Message,), { + + 'GetVersionUpgradeStateRequestV0' : _reflection.GeneratedProtocolMessageType('GetVersionUpgradeStateRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETVERSIONUPGRADESTATEREQUEST_GETVERSIONUPGRADESTATEREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0) + }) + , + 'DESCRIPTOR' : _GETVERSIONUPGRADESTATEREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest) + }) +_sym_db.RegisterMessage(GetVersionUpgradeStateRequest) +_sym_db.RegisterMessage(GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0) + +GetVersionUpgradeStateResponse = _reflection.GeneratedProtocolMessageType('GetVersionUpgradeStateResponse', (_message.Message,), { + + 'GetVersionUpgradeStateResponseV0' : _reflection.GeneratedProtocolMessageType('GetVersionUpgradeStateResponseV0', (_message.Message,), { + + 'Versions' : _reflection.GeneratedProtocolMessageType('Versions', (_message.Message,), { + 'DESCRIPTOR' : _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions) + }) + , + + 'VersionEntry' : _reflection.GeneratedProtocolMessageType('VersionEntry', (_message.Message,), { + 'DESCRIPTOR' : _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry) + }) + , + 'DESCRIPTOR' : _GETVERSIONUPGRADESTATERESPONSE_GETVERSIONUPGRADESTATERESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0) + }) + , + 'DESCRIPTOR' : _GETVERSIONUPGRADESTATERESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse) + }) +_sym_db.RegisterMessage(GetVersionUpgradeStateResponse) +_sym_db.RegisterMessage(GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0) +_sym_db.RegisterMessage(GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions) +_sym_db.RegisterMessage(GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry) + +GetVersionUpgradeVoteStatusRequest = _reflection.GeneratedProtocolMessageType('GetVersionUpgradeVoteStatusRequest', (_message.Message,), { + + 'GetVersionUpgradeVoteStatusRequestV0' : _reflection.GeneratedProtocolMessageType('GetVersionUpgradeVoteStatusRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETVERSIONUPGRADEVOTESTATUSREQUEST_GETVERSIONUPGRADEVOTESTATUSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0) + }) + , + 'DESCRIPTOR' : _GETVERSIONUPGRADEVOTESTATUSREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest) + }) +_sym_db.RegisterMessage(GetVersionUpgradeVoteStatusRequest) +_sym_db.RegisterMessage(GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0) + +GetVersionUpgradeVoteStatusResponse = _reflection.GeneratedProtocolMessageType('GetVersionUpgradeVoteStatusResponse', (_message.Message,), { + + 'GetVersionUpgradeVoteStatusResponseV0' : _reflection.GeneratedProtocolMessageType('GetVersionUpgradeVoteStatusResponseV0', (_message.Message,), { + + 'VersionSignals' : _reflection.GeneratedProtocolMessageType('VersionSignals', (_message.Message,), { + 'DESCRIPTOR' : _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNALS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals) + }) + , + + 'VersionSignal' : _reflection.GeneratedProtocolMessageType('VersionSignal', (_message.Message,), { + 'DESCRIPTOR' : _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal) + }) + , + 'DESCRIPTOR' : _GETVERSIONUPGRADEVOTESTATUSRESPONSE_GETVERSIONUPGRADEVOTESTATUSRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0) + }) + , + 'DESCRIPTOR' : _GETVERSIONUPGRADEVOTESTATUSRESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse) + }) +_sym_db.RegisterMessage(GetVersionUpgradeVoteStatusResponse) +_sym_db.RegisterMessage(GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0) +_sym_db.RegisterMessage(GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals) +_sym_db.RegisterMessage(GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal) + +GetEpochsInfoRequest = _reflection.GeneratedProtocolMessageType('GetEpochsInfoRequest', (_message.Message,), { + + 'GetEpochsInfoRequestV0' : _reflection.GeneratedProtocolMessageType('GetEpochsInfoRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETEPOCHSINFOREQUEST_GETEPOCHSINFOREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0) + }) + , + 'DESCRIPTOR' : _GETEPOCHSINFOREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEpochsInfoRequest) + }) +_sym_db.RegisterMessage(GetEpochsInfoRequest) +_sym_db.RegisterMessage(GetEpochsInfoRequest.GetEpochsInfoRequestV0) + +GetEpochsInfoResponse = _reflection.GeneratedProtocolMessageType('GetEpochsInfoResponse', (_message.Message,), { + + 'GetEpochsInfoResponseV0' : _reflection.GeneratedProtocolMessageType('GetEpochsInfoResponseV0', (_message.Message,), { + + 'EpochInfos' : _reflection.GeneratedProtocolMessageType('EpochInfos', (_message.Message,), { + 'DESCRIPTOR' : _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFOS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos) + }) + , + + 'EpochInfo' : _reflection.GeneratedProtocolMessageType('EpochInfo', (_message.Message,), { + 'DESCRIPTOR' : _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo) + }) + , + 'DESCRIPTOR' : _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0) + }) + , + 'DESCRIPTOR' : _GETEPOCHSINFORESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetEpochsInfoResponse) + }) +_sym_db.RegisterMessage(GetEpochsInfoResponse) +_sym_db.RegisterMessage(GetEpochsInfoResponse.GetEpochsInfoResponseV0) +_sym_db.RegisterMessage(GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos) +_sym_db.RegisterMessage(GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo) + _SEARCHKEY_PURPOSEMAPENTRY._options = None _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY._options = None @@ -4521,8 +5467,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=11659, - serialized_end=13690, + serialized_start=14333, + serialized_end=16783, methods=[ _descriptor.MethodDescriptor( name='broadcastStateTransition', @@ -4674,6 +5620,36 @@ serialized_options=None, create_key=_descriptor._internal_create_key, ), + _descriptor.MethodDescriptor( + name='getVersionUpgradeState', + full_name='org.dash.platform.dapi.v0.Platform.getVersionUpgradeState', + index=15, + containing_service=None, + input_type=_GETVERSIONUPGRADESTATEREQUEST, + output_type=_GETVERSIONUPGRADESTATERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='getVersionUpgradeVoteStatus', + full_name='org.dash.platform.dapi.v0.Platform.getVersionUpgradeVoteStatus', + index=16, + containing_service=None, + input_type=_GETVERSIONUPGRADEVOTESTATUSREQUEST, + output_type=_GETVERSIONUPGRADEVOTESTATUSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='getEpochsInfo', + full_name='org.dash.platform.dapi.v0.Platform.getEpochsInfo', + index=17, + containing_service=None, + input_type=_GETEPOCHSINFOREQUEST, + output_type=_GETEPOCHSINFORESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), ]) _sym_db.RegisterServiceDescriptor(_PLATFORM) diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py index 48e14fd1bf..80ed5761ef 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py @@ -89,6 +89,21 @@ def __init__(self, channel): request_serializer=platform__pb2.GetConsensusParamsRequest.SerializeToString, response_deserializer=platform__pb2.GetConsensusParamsResponse.FromString, ) + self.getVersionUpgradeState = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getVersionUpgradeState', + request_serializer=platform__pb2.GetVersionUpgradeStateRequest.SerializeToString, + response_deserializer=platform__pb2.GetVersionUpgradeStateResponse.FromString, + ) + self.getVersionUpgradeVoteStatus = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getVersionUpgradeVoteStatus', + request_serializer=platform__pb2.GetVersionUpgradeVoteStatusRequest.SerializeToString, + response_deserializer=platform__pb2.GetVersionUpgradeVoteStatusResponse.FromString, + ) + self.getEpochsInfo = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getEpochsInfo', + request_serializer=platform__pb2.GetEpochsInfoRequest.SerializeToString, + response_deserializer=platform__pb2.GetEpochsInfoResponse.FromString, + ) class PlatformServicer(object): @@ -184,6 +199,24 @@ def getConsensusParams(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def getVersionUpgradeState(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def getVersionUpgradeVoteStatus(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def getEpochsInfo(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_PlatformServicer_to_server(servicer, server): rpc_method_handlers = { @@ -262,6 +295,21 @@ def add_PlatformServicer_to_server(servicer, server): request_deserializer=platform__pb2.GetConsensusParamsRequest.FromString, response_serializer=platform__pb2.GetConsensusParamsResponse.SerializeToString, ), + 'getVersionUpgradeState': grpc.unary_unary_rpc_method_handler( + servicer.getVersionUpgradeState, + request_deserializer=platform__pb2.GetVersionUpgradeStateRequest.FromString, + response_serializer=platform__pb2.GetVersionUpgradeStateResponse.SerializeToString, + ), + 'getVersionUpgradeVoteStatus': grpc.unary_unary_rpc_method_handler( + servicer.getVersionUpgradeVoteStatus, + request_deserializer=platform__pb2.GetVersionUpgradeVoteStatusRequest.FromString, + response_serializer=platform__pb2.GetVersionUpgradeVoteStatusResponse.SerializeToString, + ), + 'getEpochsInfo': grpc.unary_unary_rpc_method_handler( + servicer.getEpochsInfo, + request_deserializer=platform__pb2.GetEpochsInfoRequest.FromString, + response_serializer=platform__pb2.GetEpochsInfoResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'org.dash.platform.dapi.v0.Platform', rpc_method_handlers) @@ -526,3 +574,54 @@ def getConsensusParams(request, platform__pb2.GetConsensusParamsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def getVersionUpgradeState(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getVersionUpgradeState', + platform__pb2.GetVersionUpgradeStateRequest.SerializeToString, + platform__pb2.GetVersionUpgradeStateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def getVersionUpgradeVoteStatus(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getVersionUpgradeVoteStatus', + platform__pb2.GetVersionUpgradeVoteStatusRequest.SerializeToString, + platform__pb2.GetVersionUpgradeVoteStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def getEpochsInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getEpochsInfo', + platform__pb2.GetEpochsInfoRequest.SerializeToString, + platform__pb2.GetEpochsInfoResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs b/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs index 0d5806549a..c833c223df 100644 --- a/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs +++ b/packages/dapi-grpc/clients/platform/v0/rust/platform_example.rs @@ -5,7 +5,10 @@ use prost::Message; fn main() { let request = platform::GetConsensusParamsRequest { version: Some(platform::get_consensus_params_request::Version::V0( - GetConsensusParamsRequestV0 { height: 123 }, + GetConsensusParamsRequestV0 { + height: 123, + prove: true, + }, )), }; diff --git a/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js b/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js index 8894ee87e9..dd2aa772f7 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js +++ b/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js @@ -134,6 +134,48 @@ class PlatformPromiseClient { ); } + /** + * @param {!GetEpochsInfoRequest} getEpochsInfoRequest + * @param {?Object} metadata + * @return {Promise} + */ + getEpochsInfo(getEpochsInfoRequest, metadata = {}) { + return promisify( + this.client.getEpochsInfo.bind(this.client), + )( + getEpochsInfoRequest, + metadata, + ); + } + + /** + * @param {!GetVersionUpgradeVoteStatusRequest} getVersionUpgradeVoteStatusRequest + * @param {?Object} metadata + * @return {Promise} + */ + getVersionUpgradeVoteStatus(getVersionUpgradeVoteStatusRequest, metadata = {}) { + return promisify( + this.client.getVersionUpgradeVoteStatus.bind(this.client), + )( + getVersionUpgradeVoteStatusRequest, + metadata, + ); + } + + /** + * @param {!GetVersionUpgradeStateRequest} getVersionUpgradeStateRequest + * @param {?Object} metadata + * @return {Promise} + */ + getVersionUpgradeState(getVersionUpgradeStateRequest, metadata = {}) { + return promisify( + this.client.getVersionUpgradeState.bind(this.client), + )( + getVersionUpgradeStateRequest, + metadata, + ); + } + /** * @param {string} protocolVersion */ diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts index 3e8ad1e9d9..4ad641766d 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts @@ -61,6 +61,9 @@ export class ResponseMetadata extends jspb.Message { getCoreChainLockedHeight(): number; setCoreChainLockedHeight(value: number): void; + getEpoch(): number; + setEpoch(value: number): void; + getTimeMs(): number; setTimeMs(value: number): void; @@ -84,6 +87,7 @@ export namespace ResponseMetadata { export type AsObject = { height: number, coreChainLockedHeight: number, + epoch: number, timeMs: number, protocolVersion: number, chainId: string, @@ -2514,3 +2518,530 @@ export namespace GetConsensusParamsResponse { } } +export class GetVersionUpgradeStateRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 | undefined; + setV0(value?: GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0): void; + + getVersionCase(): GetVersionUpgradeStateRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeStateRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeStateRequest): GetVersionUpgradeStateRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeStateRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeStateRequest; + static deserializeBinaryFromReader(message: GetVersionUpgradeStateRequest, reader: jspb.BinaryReader): GetVersionUpgradeStateRequest; +} + +export namespace GetVersionUpgradeStateRequest { + export type AsObject = { + v0?: GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.AsObject, + } + + export class GetVersionUpgradeStateRequestV0 extends jspb.Message { + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeStateRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeStateRequestV0): GetVersionUpgradeStateRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeStateRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeStateRequestV0; + static deserializeBinaryFromReader(message: GetVersionUpgradeStateRequestV0, reader: jspb.BinaryReader): GetVersionUpgradeStateRequestV0; + } + + export namespace GetVersionUpgradeStateRequestV0 { + export type AsObject = { + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetVersionUpgradeStateResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 | undefined; + setV0(value?: GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0): void; + + getVersionCase(): GetVersionUpgradeStateResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeStateResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeStateResponse): GetVersionUpgradeStateResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeStateResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeStateResponse; + static deserializeBinaryFromReader(message: GetVersionUpgradeStateResponse, reader: jspb.BinaryReader): GetVersionUpgradeStateResponse; +} + +export namespace GetVersionUpgradeStateResponse { + export type AsObject = { + v0?: GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.AsObject, + } + + export class GetVersionUpgradeStateResponseV0 extends jspb.Message { + hasVersions(): boolean; + clearVersions(): void; + getVersions(): GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions | undefined; + setVersions(value?: GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetVersionUpgradeStateResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeStateResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeStateResponseV0): GetVersionUpgradeStateResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeStateResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeStateResponseV0; + static deserializeBinaryFromReader(message: GetVersionUpgradeStateResponseV0, reader: jspb.BinaryReader): GetVersionUpgradeStateResponseV0; + } + + export namespace GetVersionUpgradeStateResponseV0 { + export type AsObject = { + versions?: GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class Versions extends jspb.Message { + clearVersionsList(): void; + getVersionsList(): Array; + setVersionsList(value: Array): void; + addVersions(value?: GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry, index?: number): GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Versions.AsObject; + static toObject(includeInstance: boolean, msg: Versions): Versions.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Versions, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Versions; + static deserializeBinaryFromReader(message: Versions, reader: jspb.BinaryReader): Versions; + } + + export namespace Versions { + export type AsObject = { + versionsList: Array, + } + } + + export class VersionEntry extends jspb.Message { + getVersionNumber(): number; + setVersionNumber(value: number): void; + + getVoteCount(): number; + setVoteCount(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): VersionEntry.AsObject; + static toObject(includeInstance: boolean, msg: VersionEntry): VersionEntry.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: VersionEntry, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VersionEntry; + static deserializeBinaryFromReader(message: VersionEntry, reader: jspb.BinaryReader): VersionEntry; + } + + export namespace VersionEntry { + export type AsObject = { + versionNumber: number, + voteCount: number, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + VERSIONS = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetVersionUpgradeVoteStatusRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 | undefined; + setV0(value?: GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0): void; + + getVersionCase(): GetVersionUpgradeVoteStatusRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeVoteStatusRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeVoteStatusRequest): GetVersionUpgradeVoteStatusRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeVoteStatusRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeVoteStatusRequest; + static deserializeBinaryFromReader(message: GetVersionUpgradeVoteStatusRequest, reader: jspb.BinaryReader): GetVersionUpgradeVoteStatusRequest; +} + +export namespace GetVersionUpgradeVoteStatusRequest { + export type AsObject = { + v0?: GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.AsObject, + } + + export class GetVersionUpgradeVoteStatusRequestV0 extends jspb.Message { + getStartProTxHash(): Uint8Array | string; + getStartProTxHash_asU8(): Uint8Array; + getStartProTxHash_asB64(): string; + setStartProTxHash(value: Uint8Array | string): void; + + getCount(): number; + setCount(value: number): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeVoteStatusRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeVoteStatusRequestV0): GetVersionUpgradeVoteStatusRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeVoteStatusRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeVoteStatusRequestV0; + static deserializeBinaryFromReader(message: GetVersionUpgradeVoteStatusRequestV0, reader: jspb.BinaryReader): GetVersionUpgradeVoteStatusRequestV0; + } + + export namespace GetVersionUpgradeVoteStatusRequestV0 { + export type AsObject = { + startProTxHash: Uint8Array | string, + count: number, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetVersionUpgradeVoteStatusResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 | undefined; + setV0(value?: GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0): void; + + getVersionCase(): GetVersionUpgradeVoteStatusResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeVoteStatusResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeVoteStatusResponse): GetVersionUpgradeVoteStatusResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeVoteStatusResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeVoteStatusResponse; + static deserializeBinaryFromReader(message: GetVersionUpgradeVoteStatusResponse, reader: jspb.BinaryReader): GetVersionUpgradeVoteStatusResponse; +} + +export namespace GetVersionUpgradeVoteStatusResponse { + export type AsObject = { + v0?: GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.AsObject, + } + + export class GetVersionUpgradeVoteStatusResponseV0 extends jspb.Message { + hasVersions(): boolean; + clearVersions(): void; + getVersions(): GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals | undefined; + setVersions(value?: GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetVersionUpgradeVoteStatusResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetVersionUpgradeVoteStatusResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetVersionUpgradeVoteStatusResponseV0): GetVersionUpgradeVoteStatusResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetVersionUpgradeVoteStatusResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetVersionUpgradeVoteStatusResponseV0; + static deserializeBinaryFromReader(message: GetVersionUpgradeVoteStatusResponseV0, reader: jspb.BinaryReader): GetVersionUpgradeVoteStatusResponseV0; + } + + export namespace GetVersionUpgradeVoteStatusResponseV0 { + export type AsObject = { + versions?: GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class VersionSignals extends jspb.Message { + clearVersionSignalsList(): void; + getVersionSignalsList(): Array; + setVersionSignalsList(value: Array): void; + addVersionSignals(value?: GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal, index?: number): GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): VersionSignals.AsObject; + static toObject(includeInstance: boolean, msg: VersionSignals): VersionSignals.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: VersionSignals, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VersionSignals; + static deserializeBinaryFromReader(message: VersionSignals, reader: jspb.BinaryReader): VersionSignals; + } + + export namespace VersionSignals { + export type AsObject = { + versionSignalsList: Array, + } + } + + export class VersionSignal extends jspb.Message { + getProTxHash(): Uint8Array | string; + getProTxHash_asU8(): Uint8Array; + getProTxHash_asB64(): string; + setProTxHash(value: Uint8Array | string): void; + + getVersion(): number; + setVersion(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): VersionSignal.AsObject; + static toObject(includeInstance: boolean, msg: VersionSignal): VersionSignal.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: VersionSignal, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VersionSignal; + static deserializeBinaryFromReader(message: VersionSignal, reader: jspb.BinaryReader): VersionSignal; + } + + export namespace VersionSignal { + export type AsObject = { + proTxHash: Uint8Array | string, + version: number, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + VERSIONS = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetEpochsInfoRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetEpochsInfoRequest.GetEpochsInfoRequestV0 | undefined; + setV0(value?: GetEpochsInfoRequest.GetEpochsInfoRequestV0): void; + + getVersionCase(): GetEpochsInfoRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetEpochsInfoRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoRequest): GetEpochsInfoRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetEpochsInfoRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoRequest; + static deserializeBinaryFromReader(message: GetEpochsInfoRequest, reader: jspb.BinaryReader): GetEpochsInfoRequest; +} + +export namespace GetEpochsInfoRequest { + export type AsObject = { + v0?: GetEpochsInfoRequest.GetEpochsInfoRequestV0.AsObject, + } + + export class GetEpochsInfoRequestV0 extends jspb.Message { + hasStartEpoch(): boolean; + clearStartEpoch(): void; + getStartEpoch(): google_protobuf_wrappers_pb.UInt32Value | undefined; + setStartEpoch(value?: google_protobuf_wrappers_pb.UInt32Value): void; + + getCount(): number; + setCount(value: number): void; + + getAscending(): boolean; + setAscending(value: boolean): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetEpochsInfoRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoRequestV0): GetEpochsInfoRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetEpochsInfoRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoRequestV0; + static deserializeBinaryFromReader(message: GetEpochsInfoRequestV0, reader: jspb.BinaryReader): GetEpochsInfoRequestV0; + } + + export namespace GetEpochsInfoRequestV0 { + export type AsObject = { + startEpoch?: google_protobuf_wrappers_pb.UInt32Value.AsObject, + count: number, + ascending: boolean, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetEpochsInfoResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetEpochsInfoResponse.GetEpochsInfoResponseV0 | undefined; + setV0(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0): void; + + getVersionCase(): GetEpochsInfoResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetEpochsInfoResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoResponse): GetEpochsInfoResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetEpochsInfoResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoResponse; + static deserializeBinaryFromReader(message: GetEpochsInfoResponse, reader: jspb.BinaryReader): GetEpochsInfoResponse; +} + +export namespace GetEpochsInfoResponse { + export type AsObject = { + v0?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.AsObject, + } + + export class GetEpochsInfoResponseV0 extends jspb.Message { + hasEpochs(): boolean; + clearEpochs(): void; + getEpochs(): GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos | undefined; + setEpochs(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetEpochsInfoResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetEpochsInfoResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetEpochsInfoResponseV0): GetEpochsInfoResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetEpochsInfoResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetEpochsInfoResponseV0; + static deserializeBinaryFromReader(message: GetEpochsInfoResponseV0, reader: jspb.BinaryReader): GetEpochsInfoResponseV0; + } + + export namespace GetEpochsInfoResponseV0 { + export type AsObject = { + epochs?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export class EpochInfos extends jspb.Message { + clearEpochInfosList(): void; + getEpochInfosList(): Array; + setEpochInfosList(value: Array): void; + addEpochInfos(value?: GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, index?: number): GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): EpochInfos.AsObject; + static toObject(includeInstance: boolean, msg: EpochInfos): EpochInfos.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: EpochInfos, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EpochInfos; + static deserializeBinaryFromReader(message: EpochInfos, reader: jspb.BinaryReader): EpochInfos; + } + + export namespace EpochInfos { + export type AsObject = { + epochInfosList: Array, + } + } + + export class EpochInfo extends jspb.Message { + getNumber(): number; + setNumber(value: number): void; + + getFirstBlockHeight(): number; + setFirstBlockHeight(value: number): void; + + getFirstCoreBlockHeight(): number; + setFirstCoreBlockHeight(value: number): void; + + getStartTime(): number; + setStartTime(value: number): void; + + getFeeMultiplier(): number; + setFeeMultiplier(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): EpochInfo.AsObject; + static toObject(includeInstance: boolean, msg: EpochInfo): EpochInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: EpochInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EpochInfo; + static deserializeBinaryFromReader(message: EpochInfo, reader: jspb.BinaryReader): EpochInfo; + } + + export namespace EpochInfo { + export type AsObject = { + number: number, + firstBlockHeight: number, + firstCoreBlockHeight: number, + startTime: number, + feeMultiplier: number, + } + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + EPOCHS = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js index 709bb14fb2..29decc3505 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js @@ -66,6 +66,15 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocum goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase', null, { proto }); @@ -132,6 +141,24 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase' goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.Proof', null, { proto }); @@ -1891,6 +1918,4590 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.displayName = 'proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo'; +} + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { + var f, obj = { + grovedbProof: msg.getGrovedbProof_asB64(), + quorumHash: msg.getQuorumHash_asB64(), + signature: msg.getSignature_asB64(), + round: jspb.Message.getFieldWithDefault(msg, 4, 0), + blockIdHash: msg.getBlockIdHash_asB64(), + quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.Proof; + return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setGrovedbProof(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setQuorumHash(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setSignature(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint32()); + msg.setRound(value); + break; + case 5: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setBlockIdHash(value); + break; + case 6: + var value = /** @type {number} */ (reader.readUint32()); + msg.setQuorumType(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getGrovedbProof_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getQuorumHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } + f = message.getSignature_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getRound(); + if (f !== 0) { + writer.writeUint32( + 4, + f + ); + } + f = message.getBlockIdHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 5, + f + ); + } + f = message.getQuorumType(); + if (f !== 0) { + writer.writeUint32( + 6, + f + ); + } +}; + + +/** + * optional bytes grovedb_proof = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes grovedb_proof = 1; + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getGrovedbProof())); +}; + + +/** + * optional bytes grovedb_proof = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getGrovedbProof()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getGrovedbProof())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bytes quorum_hash = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes quorum_hash = 2; + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getQuorumHash())); +}; + + +/** + * optional bytes quorum_hash = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getQuorumHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getQuorumHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); +}; + + +/** + * optional bytes signature = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes signature = 3; + * This is a type-conversion wrapper around `getSignature()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getSignature())); +}; + + +/** + * optional bytes signature = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getSignature()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getSignature())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + +/** + * optional uint32 round = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional bytes block_id_hash = 5; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * optional bytes block_id_hash = 5; + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getBlockIdHash())); +}; + + +/** + * optional bytes block_id_hash = 5; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getBlockIdHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getBlockIdHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { + return jspb.Message.setProto3BytesField(this, 5, value); +}; + + +/** + * optional uint32 quorum_type = 6; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + */ +proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { + var f, obj = { + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), + epoch: jspb.Message.getFieldWithDefault(msg, 3, 0), + timeMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + protocolVersion: jspb.Message.getFieldWithDefault(msg, 5, 0), + chainId: jspb.Message.getFieldWithDefault(msg, 6, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setHeight(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCoreChainLockedHeight(value); + break; + case 3: + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setTimeMs(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setProtocolVersion(value); + break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.setChainId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getHeight(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getCoreChainLockedHeight(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getEpoch(); + if (f !== 0) { + writer.writeUint32( + 3, + f + ); + } + f = message.getTimeMs(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getProtocolVersion(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = message.getChainId(); + if (f.length > 0) { + writer.writeString( + 6, + f + ); + } +}; + + +/** + * optional uint64 height = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint32 core_chain_locked_height = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional uint32 epoch = 3; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setEpoch = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional uint64 time_ms = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional uint32 protocol_version = 5; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * optional string chain_id = 6; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + */ +proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { + return jspb.Message.setProto3StringField(this, 6, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { + var f, obj = { + code: jspb.Message.getFieldWithDefault(msg, 1, 0), + message: jspb.Message.getFieldWithDefault(msg, 2, ""), + data: msg.getData_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCode(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMessage(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setData(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCode(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getMessage(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getData_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } +}; + + +/** + * optional uint32 code = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional string message = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bytes data = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes data = 3; + * This is a type-conversion wrapper around `getData()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getData())); +}; + + +/** + * optional bytes data = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getData()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getData())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this + */ +proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + stateTransition: msg.getStateTransition_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStateTransition(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getStateTransition_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes state_transition = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes state_transition = 1; + * This is a type-conversion wrapper around `getStateTransition()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStateTransition())); +}; + + +/** + * optional bytes state_transition = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStateTransition()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStateTransition())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; + return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); +}; + + +/** + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityBalanceAndRevisionRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes identity = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); +}; + + +/** + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasIdentity = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentityResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.addIds(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdsList_asU8(); + if (f.length > 0) { + writer.writeRepeatedBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * repeated bytes ids = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); +}; + + +/** + * repeated bytes ids = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); +}; + + +/** + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentitiesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { + var f, obj = { + value: msg.getValue_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } +}; + + +/** + * optional bytes value = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes value = 1; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); +}; + + +/** + * optional bytes value = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { + var f, obj = { + key: msg.getKey_asB64(), + value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setKey(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getKey_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getValue(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes key = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes key = 1; + * This is a type-conversion wrapper around `getKey()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getKey())); +}; + + +/** + * optional bytes key = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getKey()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getKey())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional IdentityValue value = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { + var f, obj = { + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentityEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated IdentityEntry identity_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); + msg.setIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional Identities identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetIdentitiesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter + ); + } +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0])); +}; @@ -1907,8 +6518,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.Proof.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(opt_includeInstance, this); }; @@ -1917,18 +6528,15 @@ proto.org.dash.platform.dapi.v0.Proof.prototype.toObject = function(opt_includeI * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - grovedbProof: msg.getGrovedbProof_asB64(), - quorumHash: msg.getQuorumHash_asB64(), - signature: msg.getSignature_asB64(), - round: jspb.Message.getFieldWithDefault(msg, 4, 0), - blockIdHash: msg.getBlockIdHash_asB64(), - quorumType: jspb.Message.getFieldWithDefault(msg, 6, 0) + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -1942,23 +6550,23 @@ proto.org.dash.platform.dapi.v0.Proof.toObject = function(includeInstance, msg) /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.Proof; - return proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.Proof} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.Proof} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1966,28 +6574,18 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setGrovedbProof(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); break; case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setQuorumHash(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setSignature(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setRound(value); - break; - case 5: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setBlockIdHash(value); - break; - case 6: - var value = /** @type {number} */ (reader.readUint32()); - msg.setQuorumType(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -2002,9 +6600,9 @@ proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader = function(msg * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2012,261 +6610,210 @@ proto.org.dash.platform.dapi.v0.Proof.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.Proof} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getGrovedbProof_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = /** @type {number} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeUint64( 1, f ); } - f = message.getQuorumHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getSignature_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f - ); - } - f = message.getRound(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getBlockIdHash_asU8(); - if (f.length > 0) { - writer.writeBytes( - 5, - f - ); - } - f = message.getQuorumType(); - if (f !== 0) { - writer.writeUint32( - 6, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes grovedb_proof = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes grovedb_proof = 1; - * This is a type-conversion wrapper around `getGrovedbProof()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getGrovedbProof())); -}; - - -/** - * optional bytes grovedb_proof = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getGrovedbProof()` - * @return {!Uint8Array} + * optional uint64 balance = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getGrovedbProof_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getGrovedbProof())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setGrovedbProof = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setBalance = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bytes quorum_hash = 2; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearBalance = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], undefined); }; /** - * optional bytes quorum_hash = 2; - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getQuorumHash())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasBalance = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional bytes quorum_hash = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getQuorumHash()` - * @return {!Uint8Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getQuorumHash())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumHash = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); }; /** - * optional bytes signature = 3; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * optional bytes signature = 3; - * This is a type-conversion wrapper around `getSignature()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getSignature())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes signature = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getSignature()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getSignature_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getSignature())); + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setSignature = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * optional uint32 round = 4; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getRound = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setRound = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional bytes block_id_hash = 5; - * @return {string} + * optional GetIdentityBalanceResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, 1)); }; /** - * optional bytes block_id_hash = 5; - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getBlockIdHash())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); }; /** - * optional bytes block_id_hash = 5; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getBlockIdHash()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getBlockIdHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getBlockIdHash())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setBlockIdHash = function(value) { - return jspb.Message.setProto3BytesField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional uint32 quorum_type = 6; - * @return {number} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.Proof.prototype.getQuorumType = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1]]; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.Proof} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.Proof.prototype.setQuorumType = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); +}; @@ -2283,8 +6830,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); }; @@ -2293,17 +6840,13 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), - timeMs: jspb.Message.getFieldWithDefault(msg, 3, 0), - protocolVersion: jspb.Message.getFieldWithDefault(msg, 4, 0), - chainId: jspb.Message.getFieldWithDefault(msg, 5, "") + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -2317,209 +6860,103 @@ proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - return proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setHeight(value); - break; - case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCoreChainLockedHeight(value); - break; - case 3: - var value = /** @type {number} */ (reader.readUint64()); - msg.setTimeMs(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint32()); - msg.setProtocolVersion(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.setChainId(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.ResponseMetadata} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getCoreChainLockedHeight(); - if (f !== 0) { - writer.writeUint32( - 2, - f - ); - } - f = message.getTimeMs(); - if (f !== 0) { - writer.writeUint64( - 3, - f - ); - } - f = message.getProtocolVersion(); - if (f !== 0) { - writer.writeUint32( - 4, - f - ); - } - f = message.getChainId(); - if (f.length > 0) { - writer.writeString( - 5, - f - ); - } -}; - - -/** - * optional uint64 height = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional uint32 core_chain_locked_height = 2; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getCoreChainLockedHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this - */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setCoreChainLockedHeight = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); -}; - - -/** - * optional uint64 time_ms = 3; - * @return {number} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getTimeMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setTimeMs = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional uint32 protocol_version = 4; - * @return {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getProtocolVersion = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter + ); + } }; + /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setProtocolVersion = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_ = [[1,2]]; /** - * optional string chain_id = 5; - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.getChainId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + BALANCE_AND_REVISION: 1, + PROOF: 2 }; - /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.ResponseMetadata} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.ResponseMetadata.prototype.setChainId = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -2533,8 +6970,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(opt_includeInstance, this); }; @@ -2543,15 +6980,15 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - code: jspb.Message.getFieldWithDefault(msg, 1, 0), - message: jspb.Message.getFieldWithDefault(msg, 2, ""), - data: msg.getData_asB64() + balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -2565,23 +7002,23 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - return proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2589,16 +7026,19 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint32()); - msg.setCode(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader); + msg.setBalanceAndRevision(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMessage(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setData(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -2613,9 +7053,9 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryF * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2623,114 +7063,39 @@ proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.serializ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getCode(); - if (f !== 0) { - writer.writeUint32( + f = message.getBalanceAndRevision(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter ); } - f = message.getMessage(); - if (f.length > 0) { - writer.writeString( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getData_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; -/** - * optional uint32 code = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getCode = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setCode = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional string message = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getMessage = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setMessage = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bytes data = 3; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * optional bytes data = 3; - * This is a type-conversion wrapper around `getData()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getData())); -}; - - -/** - * optional bytes data = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getData()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.getData_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getData())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} returns this - */ -proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.prototype.setData = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); -}; - - @@ -2747,8 +7112,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(opt_includeInstance, this); }; @@ -2757,13 +7122,14 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.toObje * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject = function(includeInstance, msg) { var f, obj = { - stateTransition: msg.getStateTransition_asB64() + balance: jspb.Message.getFieldWithDefault(msg, 1, 0), + revision: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -2777,23 +7143,23 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.toObject = funct /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; + return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2801,8 +7167,12 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransition(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBalance(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setRevision(value); break; default: reader.skipField(); @@ -2817,9 +7187,9 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.deserializeBinar * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2827,304 +7197,240 @@ proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.serial /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransition_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getBalance(); + if (f !== 0) { + writer.writeUint64( 1, f ); } + f = message.getRevision(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } }; /** - * optional bytes state_transition = 1; - * @return {string} + * optional uint64 balance = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getBalance = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes state_transition = 1; - * This is a type-conversion wrapper around `getStateTransition()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setBalance = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional bytes state_transition = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransition()` - * @return {!Uint8Array} + * optional uint64 revision = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.getStateTransition_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransition())); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getRevision = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest.prototype.setStateTransition = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setRevision = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; +/** + * optional BalanceAndRevision balance_and_revision = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getBalanceAndRevision = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, 1)); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject(opt_includeInstance, this); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setBalanceAndRevision = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.toObject = function(includeInstance, msg) { - var f, obj = { +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearBalanceAndRevision = function() { + return this.setBalanceAndRevision(undefined); +}; - }; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasBalanceAndRevision = function() { + return jspb.Message.getField(this, 1) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse; - return proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} - */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityBalanceAndRevisionResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(includeInstance, f) - }; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, 1)); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - +proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { + REQUEST_NOT_SET: 0, + ALL_KEYS: 1, + SPECIFIC_KEYS: 2, + SEARCH_KEY: 3 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + */ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); +}; @@ -3141,8 +7447,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); }; @@ -3151,14 +7457,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototyp * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), + specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), + searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) }; if (includeInstance) { @@ -3172,23 +7479,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; + return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3196,12 +7503,19 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserial var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + var value = new proto.org.dash.platform.dapi.v0.AllKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); + msg.setAllKeys(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); + msg.setSpecificKeys(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.SearchKey; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); + msg.setSearchKey(value); break; default: reader.skipField(); @@ -3216,9 +7530,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.deserial * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3226,114 +7540,138 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototyp /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getAllKeys(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getSpecificKeys(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter + ); + } + f = message.getSearchKey(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter ); } }; /** - * optional bytes id = 1; - * @return {string} + * optional AllKeys all_keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} + * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { + return this.setAllKeys(undefined); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + * optional SpecificKeys specific_keys = 2; + * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this +*/ +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { + return this.setSpecificKeys(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetIdentityRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} + * optional SearchKey search_key = 3; + * @return {?proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0, 1)); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { + return this.setSearchKey(undefined); }; @@ -3341,37 +7679,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.clearV0 = function( * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { + return jspb.Message.getField(this, 3) != null; }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -3387,8 +7700,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); }; @@ -3397,13 +7710,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(includeInstance, f) + }; if (includeInstance) { @@ -3417,34 +7730,29 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.AllKeys; + return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} + * @return {!proto.org.dash.platform.dapi.v0.AllKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; default: reader.skipField(); break; @@ -3458,9 +7766,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3468,24 +7776,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} message + * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter - ); - } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -3501,8 +7808,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); }; @@ -3511,14 +7818,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f }; if (includeInstance) { @@ -3532,23 +7838,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; + return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3556,12 +7862,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); + for (var i = 0; i < values.length; i++) { + msg.addKeyIds(values[i]); + } break; default: reader.skipField(); @@ -3576,9 +7880,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3586,154 +7890,62 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); + f = message.getKeyIdsList(); if (f.length > 0) { - writer.writeBytes( + writer.writePackedUint32( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } -}; - - -/** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetIdentityBalanceRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} + * repeated uint32 key_ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { + return this.setKeyIdsList([]); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3747,8 +7959,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); }; @@ -3757,13 +7969,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(includeInstance, f) + purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] }; if (includeInstance) { @@ -3777,23 +7989,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SearchKey; + return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3801,9 +8013,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = msg.getPurposeMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); + }); break; default: reader.skipField(); @@ -3818,9 +8031,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3828,23 +8041,41 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} message + * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter - ); + f = message.getPurposeMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); } }; +/** + * map purpose_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + proto.org.dash.platform.dapi.v0.SecurityLevelMap)); +}; + + +/** + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this + */ +proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { + this.getPurposeMapMap().clear(); + return this;}; + + @@ -3861,8 +8092,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); }; @@ -3871,14 +8102,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] }; if (includeInstance) { @@ -3892,23 +8122,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; + return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3916,12 +8146,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = msg.getSecurityLevelMapMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); + }); break; default: reader.skipField(); @@ -3936,9 +8164,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3946,124 +8174,47 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentity /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); + f = message.getSecurityLevelMapMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); } }; /** - * optional bytes id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetIdentityBalanceAndRevisionRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { + CURRENT_KEY_OF_KIND_REQUEST: 0, + ALL_KEYS_OF_KIND_REQUEST: 1 }; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest} returns this + * map security_level_map = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + null)); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears values from the map. The map will be non-null. + * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; -}; +proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { + this.getSecurityLevelMapMap().clear(); + return this;}; @@ -4075,21 +8226,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.prototype.h * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0])); }; @@ -4107,8 +8258,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); }; @@ -4117,13 +8268,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -4137,23 +8288,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4161,8 +8312,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -4178,9 +8329,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4188,50 +8339,24 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITY: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -4247,8 +8372,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(opt_includeInstance, this); }; @@ -4257,15 +8382,17 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -4279,23 +8406,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4304,17 +8431,26 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deseri switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + msg.setIdentityId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); + msg.setRequestType(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); + break; + case 4: + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -4329,9 +8465,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4339,123 +8475,249 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); - if (f != null) { + f = message.getIdentityId_asU8(); + if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getProof(); + f = message.getRequestType(); if (f != null) { writer.writeMessage( 2, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter ); } - f = message.getMetadata(); + f = message.getLimit(); if (f != null) { writer.writeMessage( 3, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getOffset(); + if (f != null) { + writer.writeMessage( + 4, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f ); } }; /** - * optional bytes identity = 1; + * optional bytes identity_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` - * @return {string} + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); +}; + + +/** + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional KeyRequestType request_type = 2; + * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getRequestType = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setRequestType = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearRequestType = function() { + return this.setRequestType(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasRequestType = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional google.protobuf.UInt32Value limit = 3; + * @return {?proto.google.protobuf.UInt32Value} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +}; + + +/** + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasLimit = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional google.protobuf.UInt32Value offset = 4; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); }; /** - * optional bytes identity = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getIdentity_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 4, value); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 4) != null; }; /** - * Returns whether this field is set. + * optional bool prove = 5; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasIdentity = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * optional GetIdentityKeysRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -4463,82 +8725,147 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional GetIdentityResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityResponse.oneofGroups_[0], value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter + ); + } }; @@ -4551,21 +8878,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityResponse.prototype.hasV0 = function() * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + KEYS: 1, + PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0])); }; @@ -4583,8 +8911,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(opt_includeInstance, this); }; @@ -4593,13 +8921,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.toObject = functi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(includeInstance, f) + keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -4613,23 +8943,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.toObject = function(include /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4637,9 +8967,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader); + msg.setKeys(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -4654,9 +8994,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4664,18 +9004,34 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = message.getKeys(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; @@ -4687,7 +9043,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.serializeBinaryToWriter = f * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_ = [1]; @@ -4704,8 +9060,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(opt_includeInstance, this); }; @@ -4714,14 +9070,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + keysBytesList: msg.getKeysBytesList_asB64() }; if (includeInstance) { @@ -4735,23 +9090,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.toOb /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; + return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4760,11 +9115,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.dese switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.addKeysBytes(value); break; default: reader.skipField(); @@ -4779,9 +9130,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.dese * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4789,67 +9140,60 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getKeysBytesList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } }; /** - * repeated bytes ids = 1; + * repeated bytes keys_bytes = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` + * repeated bytes keys_bytes = 1; + * This is a type-conversion wrapper around `getKeysBytesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); + this.getKeysBytesList())); }; /** - * repeated bytes ids = 1; + * repeated bytes keys_bytes = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` + * This is a type-conversion wrapper around `getKeysBytesList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getIdsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); + this.getKeysBytesList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setIdsList = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.setKeysBytesList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -4857,370 +9201,195 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prot /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.addIds = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.addKeysBytes = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.clearIdsList = function() { - return this.setIdsList([]); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.clearKeysBytesList = function() { + return this.setKeysBytesList([]); }; /** - * optional GetIdentitiesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} + * optional Keys keys = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getKeys = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setKeys = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearKeys = function() { + return this.setKeys(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasKeys = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter - ); - } + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject = function(includeInstance, msg) { - var f, obj = { - value: msg.getValue_asB64() - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader(msg, reader); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetIdentityKeysResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, 1)); }; /** - * optional bytes value = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); }; /** - * optional bytes value = 1; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes value = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; +proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; +/** + * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); +}; @@ -5237,8 +9406,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); }; @@ -5247,14 +9416,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = function(includeInstance, msg) { - var f, obj = { - key: msg.getKey_asB64(), - value: (f = msg.getValue()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.toObject(includeInstance, f) +proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -5268,23 +9436,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5292,13 +9460,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setKey(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.deserializeBinaryFromReader); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -5313,9 +9477,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5323,116 +9487,30 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); + f = message.getV0(); if (f != null) { writer.writeMessage( - 2, + 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes key = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes key = 1; - * This is a type-conversion wrapper around `getKey()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getKey())); -}; - - -/** - * optional bytes key = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKey()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getKey_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getKey())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setKey = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional IdentityValue value = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.getValue = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; -}; - - /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3]; @@ -5449,8 +9527,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); }; @@ -5459,14 +9537,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.toObj * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.toObject, includeInstance) + identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), + contractsList: jspb.Message.toObjectList(msg.getContractsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), + documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance) }; if (includeInstance) { @@ -5480,23 +9562,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject = func /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5504,9 +9586,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.deserializeBinaryFromReader); - msg.addIdentityEntries(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); + msg.addIdentities(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); + msg.addContracts(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); + msg.addDocuments(value); break; default: reader.skipField(); @@ -5521,9 +9613,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBina * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5531,87 +9623,39 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.seria /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityEntriesList(); + f = message.getIdentitiesList(); if (f.length > 0) { writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter + ); + } + f = message.getContractsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter + ); + } + f = message.getDocumentsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter ); } }; - -/** - * repeated IdentityEntry identity_entries = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.getIdentityEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.setIdentityEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.addIdentityEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.prototype.clearIdentityEntriesList = function() { - return this.setIdentityEntriesList([]); -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0])); -}; + @@ -5628,8 +9672,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); }; @@ -5638,15 +9682,16 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.pr * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + contractId: msg.getContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + documentId: msg.getDocumentId_asB64() }; if (includeInstance) { @@ -5660,23 +9705,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.to /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5684,19 +9729,20 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.de var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.deserializeBinaryFromReader); - msg.setIdentities(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDocumentTypeKeepsHistory(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDocumentId(value); break; default: reader.skipField(); @@ -5711,9 +9757,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.de * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5721,215 +9767,166 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.pr /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentities(); - if (f != null) { - writer.writeMessage( + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getDocumentTypeKeepsHistory(); + if (f) { + writer.writeBool( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f + ); + } + f = message.getDocumentId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f ); } }; /** - * optional Identities identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.Identities|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearIdentities = function() { - return this.setIdentities(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} + * optional bytes contract_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional string document_type = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Returns whether this field is set. + * optional bool document_type_keeps_history = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; -}; - - -/** - * optional GetIdentitiesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesResponse} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes document_id = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional bytes document_id = 4; + * This is a type-conversion wrapper around `getDocumentId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDocumentId())); +}; + /** - * @enum {number} + * optional bytes document_id = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDocumentId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDocumentId())); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -5943,8 +9940,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); }; @@ -5953,13 +9950,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(includeInstance, f) + identityId: msg.getIdentityId_asB64(), + requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -5973,23 +9971,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5997,9 +9995,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentityId(value); + break; + case 2: + var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); + msg.setRequestType(value); break; default: reader.skipField(); @@ -6014,9 +10015,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6024,52 +10025,101 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getRequestType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f ); } }; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { + FULL_IDENTITY: 0, + BALANCE: 1, + KEYS: 2 +}; /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional bytes identity_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + /** - * @enum {number} + * optional bytes identity_id = 1; + * This is a type-conversion wrapper around `getIdentityId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentityId())); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} + * optional bytes identity_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentityId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentityId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional Type request_type = 2; + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { + return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -6083,8 +10133,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); }; @@ -6093,15 +10143,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceRes * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { var f, obj = { - balance: jspb.Message.getFieldWithDefault(msg, 1, 0), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + contractId: msg.getContractId_asB64() }; if (includeInstance) { @@ -6115,23 +10163,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceRes /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; + return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6139,357 +10187,238 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceRes var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setBalance(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); break; default: reader.skipField(); break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = /** @type {number} */ (jspb.Message.getField(message, 1)); - if (f != null) { - writer.writeUint64( - 1, - f - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } -}; - - -/** - * optional uint64 balance = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getBalance = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); + } + } + return msg; }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setBalance = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearBalance = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes contract_id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasBalance = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * repeated IdentityRequest identities = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { + return this.setIdentitiesList([]); }; /** - * optional GetIdentityBalanceResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} + * repeated ContractRequest contracts = 2; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse} returns this + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { + return this.setContractsList([]); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * repeated DocumentRequest documents = 3; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0])); + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} + * optional GetProofsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -6502,22 +10431,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.serializeB * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - BALANCE_AND_REVISION: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); }; @@ -6535,8 +10463,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); }; @@ -6545,15 +10473,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { var f, obj = { - balanceAndRevision: (f = msg.getBalanceAndRevision()) && proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -6567,23 +10493,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6591,19 +10517,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader); - msg.setBalanceAndRevision(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -6618,9 +10534,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6628,34 +10544,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getBalanceAndRevision(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter ); } }; @@ -6677,8 +10577,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); }; @@ -6687,14 +10587,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - balance: jspb.Message.getFieldWithDefault(msg, 1, 0), - revision: jspb.Message.getFieldWithDefault(msg, 2, 0) + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -6708,180 +10608,111 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision; - return proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; + return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setBalance(value); - break; - case 2: - var value = /** @type {number} */ (reader.readUint64()); - msg.setRevision(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBalance(); - if (f !== 0) { - writer.writeUint64( - 1, - f - ); - } - f = message.getRevision(); - if (f !== 0) { - writer.writeUint64( - 2, - f - ); - } -}; - - -/** - * optional uint64 balance = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getBalance = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setBalance = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional uint64 revision = 2; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.getRevision = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision.prototype.setRevision = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); -}; - - -/** - * optional BalanceAndRevision balance_and_revision = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getBalanceAndRevision = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevision|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setBalanceAndRevision = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearBalanceAndRevision = function() { - return this.setBalanceAndRevision(undefined); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasBalanceAndRevision = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Proof proof = 2; + * optional Proof proof = 1; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); }; /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -6890,35 +10721,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional ResponseMetadata metadata = 3; + * optional ResponseMetadata metadata = 2; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); }; /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -6927,35 +10758,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentit * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetIdentityBalanceAndRevisionResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} + * optional GetProofsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -6964,7 +10795,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -6978,23 +10809,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.prototype. * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_ = [[1,2,3]]; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase = { - REQUEST_NOT_SET: 0, - ALL_KEYS: 1, - SPECIFIC_KEYS: 2, - SEARCH_KEY: 3 +proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getRequestCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); }; @@ -7012,8 +10841,122 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); }; @@ -7022,15 +10965,14 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - allKeys: (f = msg.getAllKeys()) && proto.org.dash.platform.dapi.v0.AllKeys.toObject(includeInstance, f), - specificKeys: (f = msg.getSpecificKeys()) && proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(includeInstance, f), - searchKey: (f = msg.getSearchKey()) && proto.org.dash.platform.dapi.v0.SearchKey.toObject(includeInstance, f) + id: msg.getId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -7044,23 +10986,23 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.KeyRequestType; - return proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7068,19 +11010,12 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.AllKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader); - msg.setAllKeys(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setId(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.SpecificKeys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader); - msg.setSpecificKeys(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.SearchKey; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader); - msg.setSearchKey(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -7095,9 +11030,9 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7105,258 +11040,151 @@ proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.KeyRequestType} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getAllKeys(); - if (f != null) { - writer.writeMessage( + f = message.getId_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter + f ); } - f = message.getSpecificKeys(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter - ); - } - f = message.getSearchKey(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter + f ); } }; /** - * optional AllKeys all_keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.AllKeys} - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getAllKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.AllKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.AllKeys, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.AllKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this -*/ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setAllKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearAllKeys = function() { - return this.setAllKeys(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasAllKeys = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional SpecificKeys specific_keys = 2; - * @return {?proto.org.dash.platform.dapi.v0.SpecificKeys} - */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSpecificKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SpecificKeys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SpecificKeys, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.SpecificKeys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this -*/ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSpecificKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * optional bytes id = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSpecificKeys = function() { - return this.setSpecificKeys(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSpecificKeys = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getId())); }; /** - * optional SearchKey search_key = 3; - * @return {?proto.org.dash.platform.dapi.v0.SearchKey} + * optional bytes id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getId()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.getSearchKey = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.SearchKey} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.SearchKey, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.SearchKey|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this -*/ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.setSearchKey = function(value) { - return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.KeyRequestType.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getId())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.KeyRequestType} returns this + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.clearSearchKey = function() { - return this.setSearchKey(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * Returns whether this field is set. + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.KeyRequestType.prototype.hasSearchKey = function() { - return jspb.Message.getField(this, 3) != null; -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.AllKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.AllKeys.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} + * optional GetDataContractRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.AllKeys; - return proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.AllKeys} - */ -proto.org.dash.platform.dapi.v0.AllKeys.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this */ -proto.org.dash.platform.dapi.v0.AllKeys.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.AllKeys} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.AllKeys.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.SpecificKeys.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +}; @@ -7373,8 +11201,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SpecificKeys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); }; @@ -7383,13 +11211,13 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.toObject = function(opt_i * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { var f, obj = { - keyIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7403,23 +11231,23 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.toObject = function(includeInstance /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SpecificKeys; - return proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7427,10 +11255,9 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct var field = reader.getFieldNumber(); switch (field) { case 1: - var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]); - for (var i = 0; i < values.length; i++) { - msg.addKeyIds(values[i]); - } + var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -7445,9 +11272,9 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.deserializeBinaryFromReader = funct * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7455,62 +11282,52 @@ proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.serializeBinary = functio /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SpecificKeys} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SpecificKeys.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeyIdsList(); - if (f.length > 0) { - writer.writePackedUint32( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter ); } }; -/** - * repeated uint32 key_ids = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.getKeyIdsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.setKeyIdsList = function(value) { - return jspb.Message.setField(this, 1, value || []); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; /** - * @param {number} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.addKeyIds = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACT: 1, + PROOF: 2 }; - /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.SpecificKeys} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.SpecificKeys.prototype.clearKeyIdsList = function() { - return this.setKeyIdsList([]); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -7524,8 +11341,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SearchKey.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); }; @@ -7534,13 +11351,15 @@ proto.org.dash.platform.dapi.v0.SearchKey.prototype.toObject = function(opt_incl * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - purposeMapMap: (f = msg.getPurposeMapMap()) ? f.toObject(includeInstance, proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject) : [] + dataContract: msg.getDataContract_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -7554,23 +11373,23 @@ proto.org.dash.platform.dapi.v0.SearchKey.toObject = function(includeInstance, m /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SearchKey; - return proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7578,10 +11397,18 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function var field = reader.getFieldNumber(); switch (field) { case 1: - var value = msg.getPurposeMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader, 0, new proto.org.dash.platform.dapi.v0.SecurityLevelMap()); - }); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setDataContract(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -7593,193 +11420,220 @@ proto.org.dash.platform.dapi.v0.SearchKey.deserializeBinaryFromReader = function /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional bytes data_contract = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes data_contract = 1; + * This is a type-conversion wrapper around `getDataContract()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getDataContract())); +}; + + +/** + * optional bytes data_contract = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getDataContract()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getDataContract())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SearchKey} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SearchKey.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPurposeMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter); - } +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); }; /** - * map purpose_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.getPurposeMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - proto.org.dash.platform.dapi.v0.SecurityLevelMap)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SearchKey} returns this + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.SearchKey.prototype.clearPurposeMapMap = function() { - this.getPurposeMapMap().clear(); - return this;}; - +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.toObject = function(includeInstance, msg) { - var f, obj = { - securityLevelMapMap: (f = msg.getSecurityLevelMapMap()) ? f.toObject(includeInstance, undefined) : [] - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.SecurityLevelMap; - return proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} - */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = msg.getSecurityLevelMapMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readEnum, null, 0, 0); - }); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getSecurityLevelMapMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeEnum); - } +proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * @enum {number} + * optional GetDataContractResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType = { - CURRENT_KEY_OF_KIND_REQUEST: 0, - ALL_KEYS_OF_KIND_REQUEST: 1 +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); }; + /** - * map security_level_map = 1; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.getSecurityLevelMapMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 1, opt_noLazyCreate, - null)); +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.org.dash.platform.dapi.v0.SecurityLevelMap} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMapMap = function() { - this.getSecurityLevelMapMap().clear(); - return this;}; +proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; @@ -7791,21 +11645,21 @@ proto.org.dash.platform.dapi.v0.SecurityLevelMap.prototype.clearSecurityLevelMap * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); }; @@ -7823,8 +11677,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); }; @@ -7833,13 +11687,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -7853,23 +11707,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7877,8 +11731,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -7894,9 +11748,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7904,24 +11758,31 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter ); } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -7937,8 +11798,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); }; @@ -7947,17 +11808,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: (f = msg.getRequestType()) && proto.org.dash.platform.dapi.v0.KeyRequestType.toObject(includeInstance, f), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + idsList: msg.getIdsList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -7971,23 +11829,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7996,24 +11854,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); + msg.addIds(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.KeyRequestType; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.KeyRequestType.deserializeBinaryFromReader); - msg.setRequestType(value); - break; - case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); - break; - case 4: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 5: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -8030,9 +11873,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8040,47 +11883,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityId_asU8(); + f = message.getIdsList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = message.getRequestType(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.KeyRequestType.serializeBinaryToWriter - ); - } - f = message.getLimit(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f != null) { - writer.writeMessage( - 4, - f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } f = message.getProve(); if (f) { writer.writeBool( - 5, + 2, f ); } @@ -8088,146 +11907,109 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. /** - * optional bytes identity_id = 1; - * @return {string} + * repeated bytes ids = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} + * repeated bytes ids = 1; + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getIdsList())); }; /** - * optional bytes identity_id = 1; + * repeated bytes ids = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} + * This is a type-conversion wrapper around `getIdsList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getIdsList())); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional KeyRequestType request_type = 2; - * @return {?proto.org.dash.platform.dapi.v0.KeyRequestType} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getRequestType = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.KeyRequestType} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.KeyRequestType, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.KeyRequestType|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setRequestType = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearRequestType = function() { - return this.setRequestType(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { + return this.setIdsList([]); }; /** - * Returns whether this field is set. + * optional bool prove = 2; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasRequestType = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional google.protobuf.UInt32Value limit = 3; - * @return {?proto.google.protobuf.UInt32Value} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); -}; - - -/** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasLimit = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional google.protobuf.UInt32Value offset = 4; - * @return {?proto.google.protobuf.UInt32Value} + * optional GetDataContractsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 4)); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setOffset = function(value) { - return jspb.Message.setWrapperField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -8235,94 +12017,153 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.hasOffset = function() { - return jspb.Message.getField(this, 4) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional bool prove = 5; - * @return {boolean} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} returns this + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * optional GetIdentityKeysRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.oneofGroups_[0], value); + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -8336,8 +12177,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); }; @@ -8346,13 +12187,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(includeInstance, f) + identifier: msg.getIdentifier_asB64(), + dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) }; if (includeInstance) { @@ -8366,23 +12208,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8390,9 +12232,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentifier(value); + break; + case 2: + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setDataContract(value); break; default: reader.skipField(); @@ -8407,9 +12253,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8417,49 +12263,116 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = message.getIdentifier_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getDataContract(); if (f != null) { writer.writeMessage( - 1, + 2, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter ); } }; +/** + * optional bytes identifier = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * optional bytes identifier = 1; + * This is a type-conversion wrapper around `getIdentifier()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentifier())); +}; + /** - * @enum {number} + * optional bytes identifier = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentifier()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - KEYS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentifier())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional google.protobuf.BytesValue data_contract = 2; + * @return {?proto.google.protobuf.BytesValue} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); +}; + + +/** + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { + return this.setDataContract(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { + return jspb.Message.getField(this, 2) != null; }; + + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; @@ -8476,8 +12389,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); }; @@ -8486,15 +12399,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { var f, obj = { - keys: (f = msg.getKeys()) && proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) }; if (includeInstance) { @@ -8508,23 +12420,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8532,19 +12444,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader); - msg.setKeys(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -8559,9 +12461,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8569,46 +12471,87 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKeys(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter ); } }; +/** + * repeated DataContractEntry data_contract_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACTS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); +}; @@ -8625,8 +12568,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); }; @@ -8635,13 +12578,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - keysBytesList: msg.getKeysBytesList_asB64() + dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -8655,158 +12600,125 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys; - return proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addKeysBytes(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getKeysBytesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( - 1, - f - ); - } -}; - - -/** - * repeated bytes keys_bytes = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); -}; - - -/** - * repeated bytes keys_bytes = 1; - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getKeysBytesList())); -}; - - -/** - * repeated bytes keys_bytes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getKeysBytesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.getKeysBytesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getKeysBytesList())); + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.setKeysBytesList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); + msg.setDataContracts(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.addKeysBytes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys.prototype.clearKeysBytesList = function() { - return this.setKeysBytesList([]); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDataContracts(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * optional Keys keys = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} + * optional DataContracts data_contracts = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getKeys = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.Keys|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setKeys = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearKeys = function() { - return this.setKeys(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { + return this.setDataContracts(undefined); }; @@ -8814,7 +12726,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasKeys = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { return jspb.Message.getField(this, 1) != null; }; @@ -8823,7 +12735,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -8831,18 +12743,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -8851,7 +12763,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -8860,7 +12772,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -8868,18 +12780,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -8888,194 +12800,73 @@ proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetIdentityKeysResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentityKeysResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} + * optional GetDataContractsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.repeatedFields_ = [1,2,3]; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); +}; @@ -9092,8 +12883,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); }; @@ -9102,18 +12893,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { var f, obj = { - identitiesList: jspb.Message.toObjectList(msg.getIdentitiesList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject, includeInstance), - contractsList: jspb.Message.toObjectList(msg.getContractsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject, includeInstance), - documentsList: jspb.Message.toObjectList(msg.getDocumentsList(), - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject, includeInstance) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9127,23 +12913,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9151,19 +12937,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader); - msg.addIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader); - msg.addContracts(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader); - msg.addDocuments(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9178,9 +12954,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9188,34 +12964,18 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentitiesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter - ); - } - f = message.getContractsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter - ); - } - f = message.getDocumentsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter ); } }; @@ -9237,8 +12997,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); }; @@ -9247,16 +13007,17 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - documentTypeKeepsHistory: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - documentId: msg.getDocumentId_asB64() + id: msg.getId_asB64(), + limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -9270,23 +13031,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9295,19 +13056,25 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + msg.setId(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setLimit(value); break; case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setDocumentTypeKeepsHistory(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setOffset(value); break; case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDocumentId(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartAtMs(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -9322,9 +13089,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9332,359 +13099,269 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); + f = message.getId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( + f = message.getLimit(); + if (f != null) { + writer.writeMessage( 2, - f + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getDocumentTypeKeepsHistory(); - if (f) { - writer.writeBool( + f = message.getOffset(); + if (f != null) { + writer.writeMessage( 3, - f + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter ); } - f = message.getDocumentId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getStartAtMs(); + if (f !== 0) { + writer.writeUint64( 4, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 5, + f + ); + } }; /** - * optional bytes contract_id = 1; + * optional bytes id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` + * optional bytes id = 1; + * This is a type-conversion wrapper around `getId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); + this.getId())); }; /** - * optional bytes contract_id = 1; + * optional bytes id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` + * This is a type-conversion wrapper around `getId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); + this.getId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setContractId = function(value) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional string document_type = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * optional google.protobuf.UInt32Value limit = 2; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); }; /** - * optional bool document_type_keeps_history = 3; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentTypeKeepsHistory = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentTypeKeepsHistory = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { + return this.setLimit(undefined); }; /** - * optional bytes document_id = 4; - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes document_id = 4; - * This is a type-conversion wrapper around `getDocumentId()` - * @return {string} + * optional google.protobuf.UInt32Value offset = 3; + * @return {?proto.google.protobuf.UInt32Value} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDocumentId())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); }; /** - * optional bytes document_id = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.getDocumentId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDocumentId())); + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} returns this + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest.prototype.setDocumentId = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { + return this.setOffset(undefined); }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional uint64 start_at_ms = 4; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.toObject = function(includeInstance, msg) { - var f, obj = { - identityId: msg.getIdentityId_asB64(), - requestType: jspb.Message.getFieldWithDefault(msg, 2, 0) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} + * optional bool prove = 5; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentityId(value); - break; - case 2: - var value = /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (reader.readEnum()); - msg.setRequestType(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional GetDataContractHistoryRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getIdentityId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getRequestType(); - if (f !== 0.0) { - writer.writeEnum( - 2, - f - ); - } +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); }; /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type = { - FULL_IDENTITY: 0, - BALANCE: 1, - KEYS: 2 -}; - -/** - * optional bytes identity_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); }; /** - * optional bytes identity_id = 1; - * This is a type-conversion wrapper around `getIdentityId()` - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentityId())); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes identity_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentityId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getIdentityId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentityId())); + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setIdentityId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; /** - * optional Type request_type = 2; - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.getRequestType = function() { - return /** @type {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} returns this + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.prototype.setRequestType = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); }; - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -9698,8 +13375,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); }; @@ -9708,13 +13385,13 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { var f, obj = { - contractId: msg.getContractId_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -9728,23 +13405,23 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest; - return proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9752,8 +13429,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setContractId(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -9768,9 +13446,9 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9778,243 +13456,194 @@ proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter ); } }; -/** - * optional bytes contract_id = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes contract_id = 1; - * This is a type-conversion wrapper around `getContractId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getContractId())); -}; - - -/** - * optional bytes contract_id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getContractId()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.getContractId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getContractId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest.prototype.setContractId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * repeated IdentityRequest identities = 1; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getIdentitiesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setIdentitiesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addIdentities = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearIdentitiesList = function() { - return this.setIdentitiesList([]); -}; - - -/** - * repeated ContractRequest contracts = 2; - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getContractsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, 2)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setContractsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 2, value); -}; - - -/** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest} - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addContracts = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest, opt_index); -}; - /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearContractsList = function() { - return this.setContractsList([]); -}; - +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; /** - * repeated DocumentRequest documents = 3; - * @return {!Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.getDocumentsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, 3)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.setDocumentsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DATA_CONTRACT_HISTORY: 1, + PROOF: 2 }; - /** - * @param {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest} + * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.addDocuments = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest, opt_index); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); }; -/** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional GetProofsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsRequest.oneofGroups_[0], value); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsRequest} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); + msg.setDataContractHistory(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDataContractHistory(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -10028,8 +13657,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); }; @@ -10038,13 +13667,14 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(includeInstance, f) + date: jspb.Message.getFieldWithDefault(msg, 1, 0), + value: msg.getValue_asB64() }; if (includeInstance) { @@ -10058,23 +13688,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10082,9 +13712,12 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setDate(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setValue(value); break; default: reader.skipField(); @@ -10099,9 +13732,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10109,23 +13742,96 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getDate(); + if (f !== 0) { + writer.writeUint64( 1, - f, - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter + f + ); + } + f = message.getValue_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f ); } }; +/** + * optional uint64 date = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional bytes value = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes value = 2; + * This is a type-conversion wrapper around `getValue()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getValue())); +}; + + +/** + * optional bytes value = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getValue()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getValue())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; @@ -10142,8 +13848,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); }; @@ -10152,14 +13858,14 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { var f, obj = { - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) }; if (includeInstance) { @@ -10173,23 +13879,23 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0; - return proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; + return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10197,14 +13903,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); + msg.addDataContractEntries(value); break; default: reader.skipField(); @@ -10219,9 +13920,9 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.deserializ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10229,55 +13930,122 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getDataContractEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter ); } }; /** - * optional Proof proof = 1; + * repeated DataContractHistoryEntry data_contract_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { + return this.setDataContractEntriesList([]); +}; + + +/** + * optional DataContractHistory data_contract_history = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { + return this.setDataContractHistory(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 1)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -10286,35 +14054,35 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional ResponseMetadata metadata = 2; + * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 2)); + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -10323,35 +14091,35 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetProofsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} + * optional GetDataContractHistoryResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -10360,7 +14128,7 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.clearV0 = function() * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -10374,21 +14142,21 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.prototype.hasV0 = function() { * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); }; @@ -10406,8 +14174,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); }; @@ -10416,13 +14184,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -10436,23 +14204,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10460,8 +14228,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -10477,9 +14245,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10487,24 +14255,50 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { + START_NOT_SET: 0, + START_AFTER: 6, + START_AT: 7 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10520,8 +14314,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); }; @@ -10530,14 +14324,20 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + dataContractId: msg.getDataContractId_asB64(), + documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), + where: msg.getWhere_asB64(), + orderBy: msg.getOrderBy_asB64(), + limit: jspb.Message.getFieldWithDefault(msg, 5, 0), + startAfter: msg.getStartAfter_asB64(), + startAt: msg.getStartAt_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) }; if (includeInstance) { @@ -10551,23 +14351,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10576,9 +14376,33 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + msg.setDataContractId(value); break; case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDocumentType(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setWhere(value); + break; + case 4: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setOrderBy(value); + break; + case 5: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLimit(value); + break; + case 6: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAfter(value); + break; + case 7: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setStartAt(value); + break; + case 8: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -10595,9 +14419,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10605,23 +14429,65 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); + f = message.getDataContractId_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } + f = message.getDocumentType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getWhere_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } + f = message.getOrderBy_asU8(); + if (f.length > 0) { + writer.writeBytes( + 4, + f + ); + } + f = message.getLimit(); + if (f !== 0) { + writer.writeUint32( + 5, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); + if (f != null) { + writer.writeBytes( + 6, + f + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); + if (f != null) { + writer.writeBytes( + 7, + f + ); + } f = message.getProve(); if (f) { writer.writeBool( - 2, + 8, f ); } @@ -10629,455 +14495,275 @@ proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0. /** - * optional bytes id = 1; + * optional bytes data_contract_id = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` + * optional bytes data_contract_id = 1; + * This is a type-conversion wrapper around `getDataContractId()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); + this.getDataContractId())); }; /** - * optional bytes id = 1; + * optional bytes data_contract_id = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` + * This is a type-conversion wrapper around `getDataContractId()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getId_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); + this.getDataContractId())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setId = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional GetDataContractRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} + * optional string document_type = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractRequest} returns this + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes where = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} + * optional bytes where = 3; + * This is a type-conversion wrapper around `getWhere()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getWhere())); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes where = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getWhere()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getWhere())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * optional bytes order_by = 4; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} + * optional bytes order_by = 4; + * This is a type-conversion wrapper around `getOrderBy()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getOrderBy())); }; /** - * Serializes the message to binary data (in protobuf wire format). + * optional bytes order_by = 4; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getOrderBy()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getOrderBy())); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { + return jspb.Message.setProto3BytesField(this, 4, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_ = [[1,2]]; - /** - * @enum {number} + * optional uint32 limit = 5; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACT: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional bytes start_after = 6; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional bytes start_after = 6; + * This is a type-conversion wrapper around `getStartAfter()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - dataContract: msg.getDataContract_asB64(), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getStartAfter())); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * optional bytes start_after = 6; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getStartAfter()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getStartAfter())); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContract(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { + return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); - if (f != null) { - writer.writeBytes( - 1, - f - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * optional bytes data_contract = 1; + * optional bytes start_at = 7; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** - * optional bytes data_contract = 1; - * This is a type-conversion wrapper around `getDataContract()` + * optional bytes start_at = 7; + * This is a type-conversion wrapper around `getStartAt()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContract())); + this.getStartAt())); }; /** - * optional bytes data_contract = 1; + * optional bytes start_at = 7; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContract()` + * This is a type-conversion wrapper around `getStartAt()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getDataContract_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContract())); + this.getStartAt())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setDataContract = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); }; /** * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearDataContract = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { + return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); }; @@ -11085,36 +14771,54 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { + return jspb.Message.getField(this, 7) != null; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional bool prove = 8; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); +}; + + +/** + * optional GetDocumentsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; @@ -11122,82 +14826,147 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional GetDataContractResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractResponse.oneofGroups_[0], value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractResponse} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter + ); + } }; @@ -11210,21 +14979,22 @@ proto.org.dash.platform.dapi.v0.GetDataContractResponse.prototype.hasV0 = functi * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + DOCUMENTS: 1, + PROOF: 2 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); }; @@ -11242,8 +15012,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); }; @@ -11252,13 +15022,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(includeInstance, f) + documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -11272,23 +15044,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11296,9 +15068,19 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); + msg.setDocuments(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -11313,9 +15095,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11323,18 +15105,34 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); + f = message.getDocuments(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; @@ -11346,7 +15144,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.serializeBinaryToWriter * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; @@ -11363,8 +15161,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); }; @@ -11373,14 +15171,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { var f, obj = { - idsList: msg.getIdsList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + documentsList: msg.getDocumentsList_asB64() }; if (includeInstance) { @@ -11394,23 +15191,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; + return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11419,11 +15216,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addIds(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + msg.addDocuments(value); break; default: reader.skipField(); @@ -11438,9 +15231,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11448,67 +15241,60 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdsList_asU8(); + f = message.getDocumentsList_asU8(); if (f.length > 0) { writer.writeRepeatedBytes( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( - 2, - f - ); - } }; /** - * repeated bytes ids = 1; + * repeated bytes documents = 1; * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * repeated bytes ids = 1; - * This is a type-conversion wrapper around `getIdsList()` + * repeated bytes documents = 1; + * This is a type-conversion wrapper around `getDocumentsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getIdsList())); + this.getDocumentsList())); }; /** - * repeated bytes ids = 1; + * repeated bytes documents = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdsList()` + * This is a type-conversion wrapper around `getDocumentsList()` * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getIdsList_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getIdsList())); + this.getDocumentsList())); }; /** * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setIdsList = function(value) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { return jspb.Message.setField(this, 1, value || []); }; @@ -11516,64 +15302,157 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV /** * @param {!(string|Uint8Array)} value * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.addIds = function(value, opt_index) { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.clearIdsList = function() { - return this.setIdsList([]); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { + return this.setDocumentsList([]); }; /** - * optional bool prove = 2; + * optional Documents documents = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { + return this.setDocuments(undefined); +}; + + +/** + * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} returns this + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * optional GetDataContractsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetDocumentsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -11582,7 +15461,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.clearV0 = func * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -11596,21 +15475,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractsRequest.prototype.hasV0 = functi * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0])); }; @@ -11628,8 +15507,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); }; @@ -11638,13 +15517,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -11658,23 +15537,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11682,8 +15561,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -11699,9 +15578,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11709,24 +15588,31 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter ); } }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -11742,8 +15628,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(opt_includeInstance, this); }; @@ -11752,14 +15638,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identifier: msg.getIdentifier_asB64(), - dataContract: (f = msg.getDataContract()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) + publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -11773,23 +15659,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObj /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11798,12 +15684,11 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentifier(value); + msg.addPublicKeyHashes(value); break; case 2: - var value = new google_protobuf_wrappers_pb.BytesValue; - reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); - msg.setDataContract(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -11818,9 +15703,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deser * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11828,266 +15713,142 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.proto /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentifier_asU8(); + f = message.getPublicKeyHashesList_asU8(); if (f.length > 0) { - writer.writeBytes( + writer.writeRepeatedBytes( 1, f ); } - f = message.getDataContract(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 2, - f, - google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter + f ); } }; /** - * optional bytes identifier = 1; - * @return {string} + * repeated bytes public_key_hashes = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * optional bytes identifier = 1; - * This is a type-conversion wrapper around `getIdentifier()` - * @return {string} + * repeated bytes public_key_hashes = 1; + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentifier())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asB64 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsB64( + this.getPublicKeyHashesList())); }; /** - * optional bytes identifier = 1; + * repeated bytes public_key_hashes = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentifier()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getIdentifier_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentifier())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setIdentifier = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional google.protobuf.BytesValue data_contract = 2; - * @return {?proto.google.protobuf.BytesValue} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.getDataContract = function() { - return /** @type{?proto.google.protobuf.BytesValue} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); -}; - - -/** - * @param {?proto.google.protobuf.BytesValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.setDataContract = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.clearDataContract = function() { - return this.setDataContract(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.prototype.hasDataContract = function() { - return jspb.Message.getField(this, 2) != null; -}; - - - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.repeatedFields_ = [1]; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * This is a type-conversion wrapper around `getPublicKeyHashesList()` + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asU8 = function() { + return /** @type {!Array} */ (jspb.Message.bytesListAsU8( + this.getPublicKeyHashesList())); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {!(Array|Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject = function(includeInstance, msg) { - var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.toObject, includeInstance) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setPublicKeyHashesList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * @param {!(string|Uint8Array)} value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.addPublicKeyHashes = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.clearPublicKeyHashesList = function() { + return this.setPublicKeyHashesList([]); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * repeated DataContractEntry data_contract_entries = 1; - * @return {!Array} + * optional GetIdentitiesByPublicKeyHashesRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, 1)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -12100,22 +15861,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.prototype * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); }; @@ -12133,8 +15893,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); }; @@ -12143,15 +15903,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { var f, obj = { - dataContracts: (f = msg.getDataContracts()) && proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12165,23 +15923,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12189,19 +15947,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.deserializeBinaryFromReader); - msg.setDataContracts(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -12216,9 +15964,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12226,175 +15974,216 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsRespons /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContracts(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter ); } }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional DataContracts data_contracts = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getDataContracts = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject(opt_includeInstance, this); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContracts|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setDataContracts = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject = function(includeInstance, msg) { + var f, obj = { + publicKeyHash: msg.getPublicKeyHash_asB64(), + value: (f = msg.getValue()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearDataContracts = function() { - return this.setDataContracts(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasDataContracts = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); + break; + case 2: + var value = new google_protobuf_wrappers_pb.BytesValue; + reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPublicKeyHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getValue(); + if (f != null) { + writer.writeMessage( + 2, + f, + google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter + ); + } }; /** - * Returns whether this field is set. - * @return {boolean} + * optional bytes public_key_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} returns this + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional GetDataContractsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} + * optional google.protobuf.BytesValue value = 2; + * @return {?proto.google.protobuf.BytesValue} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getValue = function() { + return /** @type{?proto.google.protobuf.BytesValue} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * @param {?proto.google.protobuf.BytesValue|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setValue = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.clearValue = function() { + return this.setValue(undefined); }; @@ -12402,36 +16191,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.clearV0 = fun * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractsResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.hasValue = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} + * List of repeated fields within this message type. + * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_ = [1]; @@ -12448,8 +16219,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(opt_includeInstance, this); }; @@ -12458,13 +16229,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(includeInstance, f) + identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject, includeInstance) }; if (includeInstance) { @@ -12478,23 +16250,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12502,9 +16274,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader); + msg.addIdentityEntries(value); break; default: reader.skipField(); @@ -12519,9 +16291,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.deserializeBinaryF * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12529,23 +16301,87 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.serializ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getIdentityEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter ); } }; +/** + * repeated PublicKeyHashIdentityEntry identity_entries = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.getIdentityEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.setIdentityEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.addIdentityEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.clearIdentityEntriesList = function() { + return this.setIdentityEntriesList([]); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITIES: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0])); +}; @@ -12562,8 +16398,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(opt_includeInstance, this); }; @@ -12572,17 +16408,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - limit: (f = msg.getLimit()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - offset: (f = msg.getOffset()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), - startAtMs: jspb.Message.getFieldWithDefault(msg, 4, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) + identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -12596,23 +16430,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12620,26 +16454,19 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader); + msg.setIdentities(value); break; case 2: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setLimit(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = new google_protobuf_wrappers_pb.UInt32Value; - reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); - msg.setOffset(value); - break; - case 4: - var value = /** @type {number} */ (reader.readUint64()); - msg.setStartAtMs(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -12654,9 +16481,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -12664,119 +16491,101 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getIdentities(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter ); } - f = message.getLimit(); + f = message.getProof(); if (f != null) { writer.writeMessage( 2, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getOffset(); + f = message.getMetadata(); if (f != null) { writer.writeMessage( 3, f, - google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter - ); - } - f = message.getStartAtMs(); - if (f !== 0) { - writer.writeUint64( - 4, - f - ); - } - f = message.getProve(); - if (f) { - writer.writeBool( - 5, - f + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * optional bytes id = 1; - * @return {string} + * optional IdentitiesByPublicKeyHashes identities = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getIdentities = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, 1)); }; /** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setIdentities = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearIdentities = function() { + return this.setIdentities(undefined); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasIdentities = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional google.protobuf.UInt32Value limit = 2; - * @return {?proto.google.protobuf.UInt32Value} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getLimit = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearLimit = function() { - return this.setLimit(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -12784,36 +16593,36 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasLimit = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; /** - * optional google.protobuf.UInt32Value offset = 3; - * @return {?proto.google.protobuf.UInt32Value} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getOffset = function() { - return /** @type{?proto.google.protobuf.UInt32Value} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 3)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.google.protobuf.UInt32Value|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setOffset = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.clearOffset = function() { - return this.setOffset(undefined); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -12821,71 +16630,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHis * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.hasOffset = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional uint64 start_at_ms = 4; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getStartAtMs = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setStartAtMs = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); -}; - - -/** - * optional bool prove = 5; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 5, value); -}; - - -/** - * optional GetDataContractHistoryRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} + * optional GetIdentitiesByPublicKeyHashesResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -12894,7 +16667,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -12908,21 +16681,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); }; @@ -12940,8 +16713,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); }; @@ -12950,13 +16723,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.toObjec * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -12970,23 +16743,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.toObject = functi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -12994,8 +16767,8 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -13011,9 +16784,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.deserializeBinary * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13021,50 +16794,24 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.seriali /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DATA_CONTRACT_HISTORY: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -13080,8 +16827,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); }; @@ -13090,15 +16837,14 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractHistory: (f = msg.getDataContractHistory()) && proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + publicKeyHash: msg.getPublicKeyHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -13112,23 +16858,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13136,19 +16882,12 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader); - msg.setDataContractHistory(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setPublicKeyHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -13160,52 +16899,164 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPublicKeyHash_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes public_key_hash = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes public_key_hash = 1; + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getPublicKeyHash())); +}; + + +/** + * optional bytes public_key_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getPublicKeyHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getPublicKeyHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDataContractHistory(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; - +/** + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +}; @@ -13222,8 +17073,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); }; @@ -13232,14 +17083,13 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { var f, obj = { - date: jspb.Message.getFieldWithDefault(msg, 1, 0), - value: msg.getValue_asB64() + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13253,23 +17103,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13277,12 +17127,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setDate(value); - break; - case 2: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setValue(value); + var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -13297,9 +17144,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13307,99 +17154,52 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDate(); - if (f !== 0) { - writer.writeUint64( + f = message.getV0(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getValue_asU8(); - if (f.length > 0) { - writer.writeBytes( - 2, - f + f, + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter ); } }; -/** - * optional uint64 date = 1; - * @return {number} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getDate = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setDate = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); -}; - - -/** - * optional bytes value = 2; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - /** - * optional bytes value = 2; - * This is a type-conversion wrapper around `getValue()` - * @return {string} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getValue())); -}; - +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; /** - * optional bytes value = 2; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getValue()` - * @return {!Uint8Array} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.getValue_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getValue())); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + IDENTITY: 1, + PROOF: 2 }; - /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} returns this + * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.prototype.setValue = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.repeatedFields_ = [1]; - - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -13413,8 +17213,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); }; @@ -13423,14 +17223,15 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractEntriesList: jspb.Message.toObjectList(msg.getDataContractEntriesList(), - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.toObject, includeInstance) + identity: msg.getIdentity_asB64(), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -13444,23 +17245,23 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory; - return proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; + return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13468,9 +17269,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.deserializeBinaryFromReader); - msg.addDataContractEntries(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setIdentity(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -13485,9 +17295,9 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13495,86 +17305,86 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} message + * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBytes( 1, + f + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, f, - proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; /** - * repeated DataContractHistoryEntry data_contract_entries = 1; - * @return {!Array} + * optional bytes identity = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.getDataContractEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.setDataContractEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry} + * optional bytes identity = 1; + * This is a type-conversion wrapper around `getIdentity()` + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.addDataContractEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getIdentity())); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} returns this + * optional bytes identity = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getIdentity()` + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory.prototype.clearDataContractEntriesList = function() { - return this.setDataContractEntriesList([]); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getIdentity())); }; /** - * optional DataContractHistory data_contract_history = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getDataContractHistory = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistory|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setDataContractHistory = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearDataContractHistory = function() { - return this.setDataContractHistory(undefined); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { + return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); }; @@ -13582,7 +17392,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasDataContractHistory = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { return jspb.Message.getField(this, 1) != null; }; @@ -13591,7 +17401,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -13599,18 +17409,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -13619,7 +17429,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -13628,7 +17438,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -13636,18 +17446,18 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -13656,35 +17466,35 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHi * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional GetDataContractHistoryResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} + * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -13693,7 +17503,7 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.clearV0 * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -13707,21 +17517,21 @@ proto.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.prototype.hasV0 = * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0])); }; @@ -13739,8 +17549,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); }; @@ -13749,13 +17559,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -13769,23 +17579,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -13793,8 +17603,8 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -13810,9 +17620,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13820,50 +17630,24 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_ = [[6,7]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase = { - START_NOT_SET: 0, - START_AFTER: 6, - START_AT: 7 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -13879,8 +17663,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); }; @@ -13889,20 +17673,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - dataContractId: msg.getDataContractId_asB64(), - documentType: jspb.Message.getFieldWithDefault(msg, 2, ""), - where: msg.getWhere_asB64(), - orderBy: msg.getOrderBy_asB64(), - limit: jspb.Message.getFieldWithDefault(msg, 5, 0), - startAfter: msg.getStartAfter_asB64(), - startAt: msg.getStartAt_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) + stateTransitionHash: msg.getStateTransitionHash_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -13916,58 +17694,34 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.toObje /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setDataContractId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDocumentType(value); - break; - case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setWhere(value); - break; - case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setOrderBy(value); - break; - case 5: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLimit(value); - break; - case 6: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAfter(value); + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { break; - case 7: + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStartAt(value); + msg.setStateTransitionHash(value); break; - case 8: + case 2: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -13984,9 +17738,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.deseri * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -13994,65 +17748,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.protot /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDataContractId_asU8(); + f = message.getStateTransitionHash_asU8(); if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getDocumentType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getWhere_asU8(); - if (f.length > 0) { - writer.writeBytes( - 3, - f - ); - } - f = message.getOrderBy_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } - f = message.getLimit(); - if (f !== 0) { - writer.writeUint32( - 5, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 6)); - if (f != null) { - writer.writeBytes( - 6, - f - ); - } - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7)); - if (f != null) { - writer.writeBytes( - 7, - f - ); - } f = message.getProve(); if (f) { writer.writeBool( - 8, + 2, f ); } @@ -14060,330 +17772,471 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.serial /** - * optional bytes data_contract_id = 1; + * optional bytes state_transition_hash = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes data_contract_id = 1; - * This is a type-conversion wrapper around `getDataContractId()` + * optional bytes state_transition_hash = 1; + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asB64 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getDataContractId())); + this.getStateTransitionHash())); }; /** - * optional bytes data_contract_id = 1; + * optional bytes state_transition_hash = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDataContractId()` + * This is a type-conversion wrapper around `getStateTransitionHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDataContractId_asU8 = function() { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getDataContractId())); + this.getStateTransitionHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDataContractId = function(value) { +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional string document_type = 2; - * @return {string} + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getDocumentType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setDocumentType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional bytes where = 3; - * @return {string} + * optional WaitForStateTransitionResultRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, 1)); }; /** - * optional bytes where = 3; - * This is a type-conversion wrapper around `getWhere()` - * @return {string} + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getWhere())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional bytes where = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getWhere()` - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getWhere_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getWhere())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setWhere = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional bytes order_by = 4; - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); }; /** - * optional bytes order_by = 4; - * This is a type-conversion wrapper around `getOrderBy()` - * @return {string} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getOrderBy())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes order_by = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getOrderBy()` - * @return {!Uint8Array} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getOrderBy_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getOrderBy())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + */ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setOrderBy = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional uint32 limit = 5; - * @return {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getLimit = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter + ); + } }; -/** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setLimit = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); -}; - /** - * optional bytes start_after = 6; - * @return {string} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); -}; - +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; /** - * optional bytes start_after = 6; - * This is a type-conversion wrapper around `getStartAfter()` - * @return {string} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + ERROR: 1, + PROOF: 2 }; - /** - * optional bytes start_after = 6; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAfter()` - * @return {!Uint8Array} + * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAfter_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAfter())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0])); }; -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAfter = function(value) { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAfter = function() { - return jspb.Message.setOneofField(this, 6, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAfter = function() { - return jspb.Message.getField(this, 6) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional bytes start_at = 7; - * @return {string} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; + return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * optional bytes start_at = 7; - * This is a type-conversion wrapper around `getStartAt()` - * @return {string} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); + msg.setError(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional bytes start_at = 7; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStartAt()` + * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getStartAt_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStartAt())); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setStartAt = function(value) { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getError(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; /** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * optional StateTransitionBroadcastError error = 1; + * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.clearStartAt = function() { - return jspb.Message.setOneofField(this, 7, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.oneofGroups_[0], undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getError = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); }; /** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.hasStartAt = function() { - return jspb.Message.getField(this, 7) != null; + * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setError = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** - * optional bool prove = 8; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { + return this.setError(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 8, value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional GetDocumentsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -14391,147 +18244,82 @@ proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.clearV0 = function * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_ = [[1]]; - /** - * @enum {number} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0])); + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.toObject = function(includeInstance, msg) { - var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} + * optional WaitForStateTransitionResultResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader); - msg.setV0(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -14544,22 +18332,21 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.serializeBinaryToWriter = f * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - DOCUMENTS: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0])); }; @@ -14577,8 +18364,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); }; @@ -14587,15 +18374,13 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prot * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { var f, obj = { - documents: (f = msg.getDocuments()) && proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -14609,23 +18394,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.toOb /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14633,19 +18418,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.dese var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader); - msg.setDocuments(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -14660,57 +18435,34 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.dese * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getDocuments(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); if (f != null) { writer.writeMessage( - 3, + 1, f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter ); } }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.repeatedFields_ = [1]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -14726,8 +18478,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this); }; @@ -14736,13 +18488,14 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - documentsList: msg.getDocumentsList_asB64() + height: jspb.Message.getFieldWithDefault(msg, 1, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -14756,23 +18509,23 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents; - return proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -14780,8 +18533,12 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addDocuments(value); + var value = /** @type {number} */ (reader.readInt32()); + msg.setHeight(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -14796,9 +18553,9 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -14806,259 +18563,434 @@ proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Docu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDocumentsList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getHeight(); + if (f !== 0) { + writer.writeInt32( 1, f ); } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; /** - * repeated bytes documents = 1; - * @return {!Array} + * optional int32 height = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * repeated bytes documents = 1; - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getDocumentsList())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * repeated bytes documents = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getDocumentsList()` - * @return {!Array} + * optional bool prove = 2; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.getDocumentsList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getDocumentsList())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.setDocumentsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * optional GetConsensusParamsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.addDocuments = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, 1)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents.prototype.clearDocumentsList = function() { - return this.setDocumentsList([]); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * optional Documents documents = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getDocuments = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; + /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.Documents|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setDocuments = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0])); }; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearDocuments = function() { - return this.setDocuments(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasDocuments = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter + ); + } }; -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.oneofGroups_[0], value); -}; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { + var f, obj = { + maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), + timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); }; /** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxBytes(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxGas(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setTimeIotaMs(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Returns whether this field is set. - * @return {boolean} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getMaxGas(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getTimeIotaMs(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional GetDocumentsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} + * optional string max_bytes = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetDocumentsResponse.oneofGroups_[0], value); + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetDocumentsResponse} returns this + * optional string max_gas = 2; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetDocumentsResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_ = [[1]]; - /** - * @enum {number} + * optional string time_iota_ms = 3; + * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -15072,8 +19004,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); }; @@ -15082,13 +19014,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(includeInstance, f) + maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), + maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), + maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -15102,23 +19036,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15126,9 +19060,16 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeNumBlocks(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxAgeDuration(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setMaxBytes(value); break; default: reader.skipField(); @@ -15143,9 +19084,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.deserializ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15153,30 +19094,90 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getMaxAgeNumBlocks(); + if (f.length > 0) { + writer.writeString( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter + f + ); + } + f = message.getMaxAgeDuration(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getMaxBytes(); + if (f.length > 0) { + writer.writeString( + 3, + f ); } }; +/** + * optional string max_age_num_blocks = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.repeatedFields_ = [1]; +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string max_age_duration = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string max_bytes = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + */ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + @@ -15193,8 +19194,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); }; @@ -15203,14 +19204,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHashesList: msg.getPublicKeyHashesList_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), + evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) }; if (includeInstance) { @@ -15224,23 +19225,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; + return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15248,12 +19249,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.addPublicKeyHashes(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); + msg.setBlock(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); + msg.setEvidence(value); break; default: reader.skipField(); @@ -15268,9 +19271,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15278,132 +19281,129 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentit /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHashesList_asU8(); - if (f.length > 0) { - writer.writeRepeatedBytes( + f = message.getBlock(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getEvidence(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter ); } }; /** - * repeated bytes public_key_hashes = 1; - * @return {!Array} + * optional ConsensusParamsBlock block = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getBlock = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, 1)); }; /** - * repeated bytes public_key_hashes = 1; - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asB64 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsB64( - this.getPublicKeyHashesList())); + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setBlock = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** - * repeated bytes public_key_hashes = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHashesList()` - * @return {!Array} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getPublicKeyHashesList_asU8 = function() { - return /** @type {!Array} */ (jspb.Message.bytesListAsU8( - this.getPublicKeyHashesList())); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { + return this.setBlock(undefined); }; /** - * @param {!(Array|Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setPublicKeyHashesList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {!(string|Uint8Array)} value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + * optional ConsensusParamsEvidence evidence = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.addPublicKeyHashes = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.clearPublicKeyHashesList = function() { - return this.setPublicKeyHashesList([]); + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * optional bool prove = 2; - * @return {boolean} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { + return this.setEvidence(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional GetIdentitiesByPublicKeyHashesRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} + * optional GetConsensusParamsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -15412,7 +19412,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -15426,21 +19426,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.prototype. * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_[0])); }; @@ -15458,8 +19458,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.toObject(opt_includeInstance, this); }; @@ -15468,13 +19468,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -15488,23 +19488,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.toObject /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15512,8 +19512,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -15529,9 +19529,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.deseriali * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15539,235 +19539,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter - ); - } -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject = function(includeInstance, msg) { - var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - value: (f = msg.getValue()) && google_protobuf_wrappers_pb.BytesValue.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); - break; - case 2: - var value = new google_protobuf_wrappers_pb.BytesValue; - reader.readMessage(value,google_protobuf_wrappers_pb.BytesValue.deserializeBinaryFromReader); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getPublicKeyHash_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getValue(); - if (f != null) { - writer.writeMessage( - 2, - f, - google_protobuf_wrappers_pb.BytesValue.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.serializeBinaryToWriter ); } }; -/** - * optional bytes public_key_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); -}; - - -/** - * optional bytes public_key_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getPublicKeyHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setPublicKeyHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional google.protobuf.BytesValue value = 2; - * @return {?proto.google.protobuf.BytesValue} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.getValue = function() { - return /** @type{?proto.google.protobuf.BytesValue} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BytesValue, 2)); -}; - - -/** - * @param {?proto.google.protobuf.BytesValue|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.setValue = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.clearValue = function() { - return this.setValue(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.prototype.hasValue = function() { - return jspb.Message.getField(this, 2) != null; -}; - - - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.repeatedFields_ = [1]; @@ -15784,8 +19572,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.toObject(opt_includeInstance, this); }; @@ -15794,14 +19582,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identityEntriesList: jspb.Message.toObjectList(msg.getIdentityEntriesList(), - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.toObject, includeInstance) + prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) }; if (includeInstance) { @@ -15815,23 +19602,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -15839,9 +19626,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.deserializeBinaryFromReader); - msg.addIdentityEntries(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -15856,9 +19642,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -15866,58 +19652,74 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentityEntriesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 1, - f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry.serializeBinaryToWriter + f ); } }; /** - * repeated PublicKeyHashIdentityEntry identity_entries = 1; - * @return {!Array} + * optional bool prove = 1; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.getIdentityEntriesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); }; /** - * @param {!Array} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + +/** + * optional GetVersionUpgradeStateRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.GetVersionUpgradeStateRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.setIdentityEntriesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.oneofGroups_[0], value); }; /** - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry=} opt_value - * @param {number=} opt_index - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry} + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.addIdentityEntries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry, opt_index); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.clearV0 = function() { + return this.setV0(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.prototype.clearIdentityEntriesList = function() { - return this.setIdentityEntriesList([]); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -15930,22 +19732,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.Identitie * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITIES: 1, - PROOF: 2 +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_[0])); }; @@ -15963,8 +19764,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.toObject(opt_includeInstance, this); }; @@ -15973,15 +19774,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.toObject = function(includeInstance, msg) { var f, obj = { - identities: (f = msg.getIdentities()) && proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -15995,23 +19794,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16019,19 +19818,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.deserializeBinaryFromReader); - msg.setIdentities(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinaryFromReader); + msg.setV0(value); break; default: reader.skipField(); @@ -16046,9 +19835,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16056,212 +19845,198 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdenti /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getIdentities(); + f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes.serializeBinaryToWriter - ); - } - f = message.getProof(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.serializeBinaryToWriter ); } }; -/** - * optional IdentitiesByPublicKeyHashes identities = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getIdentities = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashes|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setIdentities = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearIdentities = function() { - return this.setIdentities(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasIdentities = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.oneofGroups_[0], value); -}; - /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); -}; - +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + VERSIONS: 1, + PROOF: 2 }; - /** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_[0])); }; -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); -}; - +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.toObject(opt_includeInstance, this); }; /** - * optional GetIdentitiesByPublicKeyHashesResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0, 1)); -}; - +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; -/** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.oneofGroups_[0], value); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.clearV0 = function() { - return this.setV0(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader); + msg.setVersions(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + /** - * @enum {number} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getVersions(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } }; + + /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [1]; @@ -16278,8 +20053,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.toObject(opt_includeInstance, this); }; @@ -16288,13 +20063,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.toOb * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(includeInstance, f) + versionsList: jspb.Message.toObjectList(msg.getVersionsList(), + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance) }; if (includeInstance) { @@ -16308,23 +20084,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.toObject = fun /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16332,9 +20108,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader); + msg.addVersions(value); break; default: reader.skipField(); @@ -16349,9 +20125,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.deserializeBin * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16359,23 +20135,61 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.seri /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getVersionsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter ); } }; +/** + * repeated VersionEntry versions = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.getVersionsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.setVersionsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.addVersions = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() { + return this.setVersionsList([]); +}; + + @@ -16392,8 +20206,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.toObject(opt_includeInstance, this); }; @@ -16402,14 +20216,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) { var f, obj = { - publicKeyHash: msg.getPublicKeyHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0), + voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -16423,23 +20237,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16447,12 +20261,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setPublicKeyHash(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setVersionNumber(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setVoteCount(value); break; default: reader.skipField(); @@ -16467,9 +20281,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16477,22 +20291,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPublicKeyHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getVersionNumber(); + if (f !== 0) { + writer.writeUint32( 1, f ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getVoteCount(); + if (f !== 0) { + writer.writeUint32( 2, f ); @@ -16501,89 +20315,176 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByP /** - * optional bytes public_key_hash = 1; - * @return {string} + * optional uint32 version_number = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional bytes public_key_hash = 1; - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {string} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getPublicKeyHash())); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional bytes public_key_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getPublicKeyHash()` - * @return {!Uint8Array} + * optional uint32 vote_count = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getPublicKeyHash())); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional Versions versions = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getVersions = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.Versions|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.setVersions = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.clearVersions = function() { + return this.setVersions(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.hasVersions = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * optional bool prove = 2; - * @return {boolean} + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetIdentityByPublicKeyHashRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} + * optional GetVersionUpgradeStateResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.GetVersionUpgradeStateResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -16592,7 +20493,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.clea * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeStateResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -16606,21 +20507,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.prototype.hasV * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_[0])); }; @@ -16638,8 +20539,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.toObject(opt_includeInstance, this); }; @@ -16648,13 +20549,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.toO * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -16668,23 +20569,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.toObject = fu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16692,8 +20593,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -16709,9 +20610,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.deserializeBi * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16719,50 +20620,24 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.ser /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter ); } }; -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_ = [[1,2]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - IDENTITY: 1, - PROOF: 2 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0])); -}; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -16778,8 +20653,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.toObject(opt_includeInstance, this); }; @@ -16788,15 +20663,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - identity: msg.getIdentity_asB64(), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + startProTxHash: msg.getStartProTxHash_asB64(), + count: jspb.Message.getFieldWithDefault(msg, 2, 0), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -16810,23 +20685,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0; - return proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -16835,17 +20710,15 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy switch (field) { case 1: var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setIdentity(value); + msg.setStartProTxHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setCount(value); break; case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); break; default: reader.skipField(); @@ -16860,9 +20733,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -16870,196 +20743,138 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityBy /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); - if (f != null) { + f = message.getStartProTxHash_asU8(); + if (f.length > 0) { writer.writeBytes( 1, f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + f ); } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( + f = message.getProve(); + if (f) { + writer.writeBool( 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; /** - * optional bytes identity = 1; + * optional bytes start_pro_tx_hash = 1; * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional bytes identity = 1; - * This is a type-conversion wrapper around `getIdentity()` + * optional bytes start_pro_tx_hash = 1; + * This is a type-conversion wrapper around `getStartProTxHash()` * @return {string} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asB64 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() { return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getIdentity())); + this.getStartProTxHash())); }; /** - * optional bytes identity = 1; + * optional bytes start_pro_tx_hash = 1; * Note that Uint8Array is not supported on all browsers. * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getIdentity()` + * This is a type-conversion wrapper around `getStartProTxHash()` * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getIdentity_asU8 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() { return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getIdentity())); + this.getStartProTxHash())); }; /** * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setIdentity = function(value) { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); -}; - - -/** - * Clears the field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearIdentity = function() { - return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasIdentity = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); }; /** - * optional Proof proof = 2; - * @return {?proto.org.dash.platform.dapi.v0.Proof} + * optional uint32 count = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getProof = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearProof = function() { - return this.setProof(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.setCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * Returns whether this field is set. + * optional bool prove = 3; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasProof = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional ResponseMetadata metadata = 3; - * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.getMetadata = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this -*/ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.setMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} returns this - */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.clearMetadata = function() { - return this.setMetadata(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0.prototype.hasMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional GetIdentityByPublicKeyHashResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} + * optional GetVersionUpgradeVoteStatusRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.GetVersionUpgradeVoteStatusRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -17068,7 +20883,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.cle * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17082,21 +20897,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.prototype.has * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_[0])); }; @@ -17114,8 +20929,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.toObject(opt_includeInstance, this); }; @@ -17124,13 +20939,13 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.to * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17144,23 +20959,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject = f /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17168,8 +20983,8 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -17185,9 +21000,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeB * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17195,24 +21010,50 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.se /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + VERSIONS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -17228,8 +21069,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.toObject(opt_includeInstance, this); }; @@ -17238,14 +21079,15 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - stateTransitionHash: msg.getStateTransitionHash_asB64(), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -17259,23 +21101,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17283,12 +21125,19 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setStateTransitionHash(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader); + msg.setVersions(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setProve(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -17303,9 +21152,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17313,151 +21162,46 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getStateTransitionHash_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getVersions(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter ); } - f = message.getProve(); - if (f) { - writer.writeBool( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } -}; - - -/** - * optional bytes state_transition_hash = 1; - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes state_transition_hash = 1; - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {string} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getStateTransitionHash())); -}; - - -/** - * optional bytes state_transition_hash = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getStateTransitionHash()` - * @return {!Uint8Array} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getStateTransitionHash())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional bool prove = 2; - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional WaitForStateTransitionResultRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0, 1)); -}; - - -/** - * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this -*/ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() { - return this.setV0(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() { - return jspb.Message.getField(this, 1) != null; }; /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} + * List of repeated fields within this message type. + * @private {!Array} * @const */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]]; - -/** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = { - VERSION_NOT_SET: 0, - V0: 1 -}; - -/** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0])); -}; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1]; @@ -17474,8 +21218,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(opt_includeInstance, this); }; @@ -17484,13 +21228,14 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.t * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f) + versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(), + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance) }; if (includeInstance) { @@ -17504,23 +21249,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject = /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17528,9 +21273,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader); - msg.setV0(value); + var value = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader); + msg.addVersionSignals(value); break; default: reader.skipField(); @@ -17545,9 +21290,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserialize * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17555,52 +21300,64 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.s /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getV0(); - if (f != null) { - writer.writeMessage( + f = message.getVersionSignalsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter ); } }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * repeated VersionSignal version_signals = 1; + * @return {!Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]]; +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.getVersionSignalsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal, 1)); +}; + /** - * @enum {number} - */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = { - RESULT_NOT_SET: 0, - ERROR: 1, - PROOF: 2 + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this +*/ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.setVersionSignalsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.addVersionSignals = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal, opt_index); }; + /** - * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getResultCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() { + return this.setVersionSignalsList([]); }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -17614,8 +21371,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(opt_includeInstance, this); }; @@ -17624,15 +21381,14 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) { var f, obj = { - error: (f = msg.getError()) && proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.toObject(includeInstance, f), - proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), - metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + proTxHash: msg.getProTxHash_asB64(), + version: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -17646,23 +21402,23 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0; - return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal; + return proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17670,19 +21426,12 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader); - msg.setError(value); + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setProTxHash(value); break; case 2: - var value = new proto.org.dash.platform.dapi.v0.Proof; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); - msg.setProof(value); - break; - case 3: - var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); - msg.setMetadata(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setVersion(value); break; default: reader.skipField(); @@ -17697,9 +21446,9 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -17707,64 +21456,114 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getError(); - if (f != null) { - writer.writeMessage( + f = message.getProTxHash_asU8(); + if (f.length > 0) { + writer.writeBytes( 1, - f, - proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter + f ); } - f = message.getProof(); - if (f != null) { - writer.writeMessage( + f = message.getVersion(); + if (f !== 0) { + writer.writeUint32( 2, - f, - proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter - ); - } - f = message.getMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + f ); } }; /** - * optional StateTransitionBroadcastError error = 1; - * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} + * optional bytes pro_tx_hash = 1; + * @return {string} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getError = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * optional bytes pro_tx_hash = 1; + * This is a type-conversion wrapper around `getProTxHash()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getProTxHash())); +}; + + +/** + * optional bytes pro_tx_hash = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getProTxHash()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getProTxHash())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setProTxHash = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional uint32 version = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getVersion = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setVersion = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional VersionSignals versions = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} + */ +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getVersions = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.VersionSignals|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setError = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.setVersions = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() { - return this.setError(undefined); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.clearVersions = function() { + return this.setVersions(undefined); }; @@ -17772,7 +21571,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.hasVersions = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17781,7 +21580,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * optional Proof proof = 2; * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getProof = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getProof = function() { return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; @@ -17789,18 +21588,18 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) { - return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.clearProof = function() { return this.setProof(undefined); }; @@ -17809,7 +21608,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.hasProof = function() { return jspb.Message.getField(this, 2) != null; }; @@ -17818,7 +21617,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * optional ResponseMetadata metadata = 3; * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.getMetadata = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.getMetadata = function() { return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; @@ -17826,18 +21625,18 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat /** * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setMetadata = function(value) { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.setMetadata = function(value) { return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.clearMetadata = function() { return this.setMetadata(undefined); }; @@ -17846,35 +21645,35 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasMetadata = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() { return jspb.Message.getField(this, 3) != null; }; /** - * optional WaitForStateTransitionResultResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} + * optional GetVersionUpgradeVoteStatusResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.GetVersionUpgradeVoteStatusResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse} returns this */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -17883,7 +21682,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.c * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetVersionUpgradeVoteStatusResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -17897,21 +21696,21 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.h * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_[0])); }; @@ -17929,8 +21728,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject(opt_includeInstance, this); }; @@ -17939,13 +21738,13 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -17959,23 +21758,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -17983,8 +21782,8 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -18000,9 +21799,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18010,18 +21809,18 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter ); } }; @@ -18043,8 +21842,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(opt_includeInstance, this); }; @@ -18053,14 +21852,16 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) { var f, obj = { - height: jspb.Message.getFieldWithDefault(msg, 1, 0), - prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + startEpoch: (f = msg.getStartEpoch()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f), + count: jspb.Message.getFieldWithDefault(msg, 2, 0), + ascending: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; if (includeInstance) { @@ -18074,23 +21875,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18098,10 +21899,19 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readInt32()); - msg.setHeight(value); + var value = new google_protobuf_wrappers_pb.UInt32Value; + reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader); + msg.setStartEpoch(value); break; case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setCount(value); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setAscending(value); + break; + case 4: var value = /** @type {boolean} */ (reader.readBool()); msg.setProve(value); break; @@ -18118,9 +21928,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18128,23 +21938,38 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getHeight(); - if (f !== 0) { - writer.writeInt32( + f = message.getStartEpoch(); + if (f != null) { + writer.writeMessage( 1, + f, + google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter + ); + } + f = message.getCount(); + if (f !== 0) { + writer.writeUint32( + 2, + f + ); + } + f = message.getAscending(); + if (f) { + writer.writeBool( + 3, f ); } f = message.getProve(); if (f) { writer.writeBool( - 2, + 4, f ); } @@ -18152,65 +21977,120 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ /** - * optional int32 height = 1; - * @return {number} + * optional google.protobuf.UInt32Value start_epoch = 1; + * @return {?proto.google.protobuf.UInt32Value} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getStartEpoch = function() { + return /** @type{?proto.google.protobuf.UInt32Value} */ ( + jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 1)); +}; + + +/** + * @param {?proto.google.protobuf.UInt32Value|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setStartEpoch = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.clearStartEpoch = function() { + return this.setStartEpoch(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.hasStartEpoch = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional uint32 count = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setCount = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional bool ascending = 3; + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getAscending = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * @param {number} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setHeight = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional bool prove = 2; + * optional bool prove = 4; * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); }; /** * @param {boolean} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); }; /** - * optional GetConsensusParamsRequestV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} + * optional GetEpochsInfoRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0, 1)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -18219,7 +22099,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = fu * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; @@ -18233,21 +22113,21 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.hasV0 = func * @private {!Array>} * @const */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_ = [[1]]; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_ = [[1]]; /** * @enum {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase = { VERSION_NOT_SET: 0, V0: 1 }; /** - * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getVersionCase = function() { - return /** @type {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0])); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_[0])); }; @@ -18265,8 +22145,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject(opt_includeInstance, this); }; @@ -18275,13 +22155,13 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject = function(includeInstance, msg) { var f, obj = { - v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f) + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f) }; if (includeInstance) { @@ -18295,23 +22175,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18319,8 +22199,8 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader); + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader); msg.setV0(value); break; default: @@ -18336,9 +22216,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18346,24 +22226,50 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getV0(); if (f != null) { writer.writeMessage( 1, f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter ); } }; +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + EPOCHS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -18379,8 +22285,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(opt_includeInstance, this); }; @@ -18389,15 +22295,15 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) { var f, obj = { - maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""), - timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "") + epochs: (f = msg.getEpochs()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) }; if (includeInstance) { @@ -18411,23 +22317,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18435,16 +22341,19 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader); + msg.setEpochs(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxGas(value); + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTimeIotaMs(value); + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; default: reader.skipField(); @@ -18459,9 +22368,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18469,87 +22378,196 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock. /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( + f = message.getEpochs(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter ); } - f = message.getMaxGas(); - if (f.length > 0) { - writer.writeString( + f = message.getProof(); + if (f != null) { + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter ); } - f = message.getTimeIotaMs(); - if (f.length > 0) { - writer.writeString( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 3, - f + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter ); } }; + /** - * optional string max_bytes = 1; - * @return {string} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(opt_includeInstance, this); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) { + var f, obj = { + epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(), + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * optional string max_gas = 2; - * @return {string} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader(msg, reader); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader); + msg.addEpochInfos(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * optional string time_iota_ms = 3; - * @return {string} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEpochInfosList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated EpochInfo epoch_infos = 1; + * @return {!Array} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.getEpochInfosList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo=} opt_value + * @param {number=} opt_index + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.addEpochInfos = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() { + return this.setEpochInfosList([]); }; @@ -18569,8 +22587,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject(opt_includeInstance, this); }; @@ -18579,15 +22597,17 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The msg instance to transform. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject = function(includeInstance, msg) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) { var f, obj = { - maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""), - maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""), - maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "") + number: jspb.Message.getFieldWithDefault(msg, 1, 0), + firstBlockHeight: jspb.Message.getFieldWithDefault(msg, 2, 0), + firstCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, 0), + startTime: jspb.Message.getFieldWithDefault(msg, 4, 0), + feeMultiplier: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0) }; if (includeInstance) { @@ -18601,23 +22621,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinary = function(bytes) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader(msg, reader); + var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo; + return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} msg The message object to deserialize into. + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -18625,16 +22645,24 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeNumBlocks(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setNumber(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxAgeDuration(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setFirstBlockHeight(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setMaxBytes(value); + var value = /** @type {number} */ (reader.readUint32()); + msg.setFirstCoreBlockHeight(value); + break; + case 4: + var value = /** @type {number} */ (reader.readUint64()); + msg.setStartTime(value); + break; + case 5: + var value = /** @type {number} */ (reader.readDouble()); + msg.setFeeMultiplier(value); break; default: reader.skipField(); @@ -18649,9 +22677,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.serializeBinary = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer); + proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -18659,243 +22687,202 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEviden /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} message + * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter = function(message, writer) { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMaxAgeNumBlocks(); - if (f.length > 0) { - writer.writeString( + f = message.getNumber(); + if (f !== 0) { + writer.writeUint32( 1, f ); } - f = message.getMaxAgeDuration(); - if (f.length > 0) { - writer.writeString( + f = message.getFirstBlockHeight(); + if (f !== 0) { + writer.writeUint64( 2, f ); } - f = message.getMaxBytes(); - if (f.length > 0) { - writer.writeString( + f = message.getFirstCoreBlockHeight(); + if (f !== 0) { + writer.writeUint32( 3, f ); } + f = message.getStartTime(); + if (f !== 0) { + writer.writeUint64( + 4, + f + ); + } + f = message.getFeeMultiplier(); + if (f !== 0.0) { + writer.writeDouble( + 5, + f + ); + } }; /** - * optional string max_age_num_blocks = 1; - * @return {string} + * optional uint32 number = 1; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeNumBlocks = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * optional string max_age_duration = 2; - * @return {string} + * optional uint64 first_block_height = 2; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeDuration = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * optional string max_bytes = 3; - * @return {string} + * optional uint32 first_core_block_height = 3; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxBytes = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * @param {string} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxBytes = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstCoreBlockHeight = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); }; +/** + * optional uint64 start_time = 4; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.toObject = function(opt_includeInstance) { - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(opt_includeInstance, this); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional double fee_multiplier = 5; + * @return {number} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) { - var f, obj = { - block: (f = msg.getBlock()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject(includeInstance, f), - evidence: (f = msg.getEvidence()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() { + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0; - return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader(msg, reader); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFeeMultiplier = function(value) { + return jspb.Message.setProto3FloatField(this, 5, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional EpochInfos epochs = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader); - msg.setBlock(value); - break; - case 2: - var value = new proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence; - reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader); - msg.setEvidence(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getEpochs = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos, 1)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setEpochs = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() { + return this.setEpochs(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getBlock(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter - ); - } - f = message.getEvidence(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter - ); - } +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional ConsensusParamsBlock block = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getBlock = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock, 1)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setBlock = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() { - return this.setBlock(undefined); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); }; @@ -18903,36 +22890,36 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = function() { - return jspb.Message.getField(this, 1) != null; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional ConsensusParamsEvidence evidence = 2; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.getEvidence = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence, 2)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() { - return this.setEvidence(undefined); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; @@ -18940,35 +22927,35 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() { - return jspb.Message.getField(this, 2) != null; +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * optional GetConsensusParamsResponseV0 v0 = 1; - * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} + * optional GetEpochsInfoResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.getV0 = function() { - return /** @type{?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} */ ( - jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0, 1)); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0, 1)); }; /** - * @param {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0|undefined} value - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.setV0 = function(value) { - return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.oneofGroups_[0], value); +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_[0], value); }; /** * Clears the message field making it undefined. - * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse} returns this + * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() { return this.setV0(undefined); }; @@ -18977,7 +22964,7 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.clearV0 = f * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() { +proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function() { return jspb.Message.getField(this, 1) != null; }; diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts index aca129aeea..39fffb6ca0 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts @@ -139,6 +139,33 @@ type PlatformgetConsensusParams = { readonly responseType: typeof platform_pb.GetConsensusParamsResponse; }; +type PlatformgetVersionUpgradeState = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetVersionUpgradeStateRequest; + readonly responseType: typeof platform_pb.GetVersionUpgradeStateResponse; +}; + +type PlatformgetVersionUpgradeVoteStatus = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetVersionUpgradeVoteStatusRequest; + readonly responseType: typeof platform_pb.GetVersionUpgradeVoteStatusResponse; +}; + +type PlatformgetEpochsInfo = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetEpochsInfoRequest; + readonly responseType: typeof platform_pb.GetEpochsInfoResponse; +}; + export class Platform { static readonly serviceName: string; static readonly broadcastStateTransition: PlatformbroadcastStateTransition; @@ -156,6 +183,9 @@ export class Platform { static readonly getIdentityByPublicKeyHash: PlatformgetIdentityByPublicKeyHash; static readonly waitForStateTransitionResult: PlatformwaitForStateTransitionResult; static readonly getConsensusParams: PlatformgetConsensusParams; + static readonly getVersionUpgradeState: PlatformgetVersionUpgradeState; + static readonly getVersionUpgradeVoteStatus: PlatformgetVersionUpgradeVoteStatus; + static readonly getEpochsInfo: PlatformgetEpochsInfo; } export type ServiceError = { message: string, code: number; metadata: grpc.Metadata } @@ -325,5 +355,32 @@ export class PlatformClient { requestMessage: platform_pb.GetConsensusParamsRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetConsensusParamsResponse|null) => void ): UnaryResponse; + getVersionUpgradeState( + requestMessage: platform_pb.GetVersionUpgradeStateRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetVersionUpgradeStateResponse|null) => void + ): UnaryResponse; + getVersionUpgradeState( + requestMessage: platform_pb.GetVersionUpgradeStateRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetVersionUpgradeStateResponse|null) => void + ): UnaryResponse; + getVersionUpgradeVoteStatus( + requestMessage: platform_pb.GetVersionUpgradeVoteStatusRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetVersionUpgradeVoteStatusResponse|null) => void + ): UnaryResponse; + getVersionUpgradeVoteStatus( + requestMessage: platform_pb.GetVersionUpgradeVoteStatusRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetVersionUpgradeVoteStatusResponse|null) => void + ): UnaryResponse; + getEpochsInfo( + requestMessage: platform_pb.GetEpochsInfoRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetEpochsInfoResponse|null) => void + ): UnaryResponse; + getEpochsInfo( + requestMessage: platform_pb.GetEpochsInfoRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetEpochsInfoResponse|null) => void + ): UnaryResponse; } diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js index 2bb3b3aeff..13609a4b83 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js @@ -145,6 +145,33 @@ Platform.getConsensusParams = { responseType: platform_pb.GetConsensusParamsResponse }; +Platform.getVersionUpgradeState = { + methodName: "getVersionUpgradeState", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetVersionUpgradeStateRequest, + responseType: platform_pb.GetVersionUpgradeStateResponse +}; + +Platform.getVersionUpgradeVoteStatus = { + methodName: "getVersionUpgradeVoteStatus", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetVersionUpgradeVoteStatusRequest, + responseType: platform_pb.GetVersionUpgradeVoteStatusResponse +}; + +Platform.getEpochsInfo = { + methodName: "getEpochsInfo", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetEpochsInfoRequest, + responseType: platform_pb.GetEpochsInfoResponse +}; + exports.Platform = Platform; function PlatformClient(serviceHost, options) { @@ -617,5 +644,98 @@ PlatformClient.prototype.getConsensusParams = function getConsensusParams(reques }; }; +PlatformClient.prototype.getVersionUpgradeState = function getVersionUpgradeState(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getVersionUpgradeState, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + +PlatformClient.prototype.getVersionUpgradeVoteStatus = function getVersionUpgradeVoteStatus(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getVersionUpgradeVoteStatus, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + +PlatformClient.prototype.getEpochsInfo = function getEpochsInfo(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getEpochsInfo, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + exports.PlatformClient = PlatformClient; diff --git a/packages/dapi-grpc/protos/platform/v0/platform.proto b/packages/dapi-grpc/protos/platform/v0/platform.proto index 0c0664a3c3..ae30f98bb2 100644 --- a/packages/dapi-grpc/protos/platform/v0/platform.proto +++ b/packages/dapi-grpc/protos/platform/v0/platform.proto @@ -23,6 +23,9 @@ service Platform { rpc getIdentityByPublicKeyHash (GetIdentityByPublicKeyHashRequest) returns (GetIdentityByPublicKeyHashResponse); rpc waitForStateTransitionResult (WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse); rpc getConsensusParams (GetConsensusParamsRequest) returns (GetConsensusParamsResponse); + rpc getVersionUpgradeState(GetVersionUpgradeStateRequest) returns (GetVersionUpgradeStateResponse); + rpc getVersionUpgradeVoteStatus(GetVersionUpgradeVoteStatusRequest) returns (GetVersionUpgradeVoteStatusResponse); + rpc getEpochsInfo(GetEpochsInfoRequest) returns (GetEpochsInfoResponse); } message Proof { @@ -37,9 +40,10 @@ message Proof { message ResponseMetadata { uint64 height = 1; uint32 core_chain_locked_height = 2; - uint64 time_ms = 3; - uint32 protocol_version = 4; - string chain_id = 5; + uint32 epoch = 3; + uint64 time_ms = 4; + uint32 protocol_version = 5; + string chain_id = 6; } message StateTransitionBroadcastError { @@ -524,3 +528,111 @@ message GetConsensusParamsResponse { GetConsensusParamsResponseV0 v0 = 1; } } + + +message GetVersionUpgradeStateRequest { + message GetVersionUpgradeStateRequestV0 { + bool prove = 1; + } + + oneof version { + GetVersionUpgradeStateRequestV0 v0 = 1; + } +} + +message GetVersionUpgradeStateResponse { + message GetVersionUpgradeStateResponseV0 { + message Versions { + repeated VersionEntry versions = 1; + } + + message VersionEntry { + uint32 version_number = 1; + uint32 vote_count = 2; + } + + oneof result { + Versions versions = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { + GetVersionUpgradeStateResponseV0 v0 = 1; + } +} + +message GetVersionUpgradeVoteStatusRequest { + message GetVersionUpgradeVoteStatusRequestV0 { + bytes start_pro_tx_hash = 1; + uint32 count = 2; + bool prove = 3; + } + + oneof version { + GetVersionUpgradeVoteStatusRequestV0 v0 = 1; + } +} + +message GetVersionUpgradeVoteStatusResponse { + message GetVersionUpgradeVoteStatusResponseV0 { + message VersionSignals { + repeated VersionSignal version_signals = 1; + } + + message VersionSignal { + bytes pro_tx_hash = 1; + uint32 version = 2; + } + + oneof result { + VersionSignals versions = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { + GetVersionUpgradeVoteStatusResponseV0 v0 = 1; + } +} + +message GetEpochsInfoRequest { + message GetEpochsInfoRequestV0 { + google.protobuf.UInt32Value start_epoch = 1; + uint32 count = 2; + bool ascending = 3; + bool prove = 4; + } + + oneof version { + GetEpochsInfoRequestV0 v0 = 1; + } +} + +message GetEpochsInfoResponse { + message GetEpochsInfoResponseV0 { + message EpochInfos { + repeated EpochInfo epoch_infos = 1; + } + + message EpochInfo { + uint32 number = 1; + uint64 first_block_height = 2; + uint32 first_core_block_height = 3; + uint64 start_time = 4; + double fee_multiplier = 5; + } + + oneof result { + EpochInfos epochs = 1; + Proof proof = 2; + } + ResponseMetadata metadata = 3; + } + + oneof version { + GetEpochsInfoResponseV0 v0 = 1; + } +} diff --git a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs index e93d1ac7af..7b9bb88926 100644 --- a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs +++ b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs @@ -21,11 +21,13 @@ pub struct ResponseMetadata { pub height: u64, #[prost(uint32, tag = "2")] pub core_chain_locked_height: u32, - #[prost(uint64, tag = "3")] + #[prost(uint32, tag = "3")] + pub epoch: u32, + #[prost(uint64, tag = "4")] pub time_ms: u64, - #[prost(uint32, tag = "4")] + #[prost(uint32, tag = "5")] pub protocol_version: u32, - #[prost(string, tag = "5")] + #[prost(string, tag = "6")] pub chain_id: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] @@ -1155,6 +1157,240 @@ pub mod get_consensus_params_response { V0(GetConsensusParamsResponseV0), } } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetVersionUpgradeStateRequest { + #[prost(oneof = "get_version_upgrade_state_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetVersionUpgradeStateRequest`. +pub mod get_version_upgrade_state_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetVersionUpgradeStateRequestV0 { + #[prost(bool, tag = "1")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetVersionUpgradeStateRequestV0), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetVersionUpgradeStateResponse { + #[prost(oneof = "get_version_upgrade_state_response::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetVersionUpgradeStateResponse`. +pub mod get_version_upgrade_state_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetVersionUpgradeStateResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_version_upgrade_state_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option< + get_version_upgrade_state_response_v0::Result, + >, + } + /// Nested message and enum types in `GetVersionUpgradeStateResponseV0`. + pub mod get_version_upgrade_state_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Versions { + #[prost(message, repeated, tag = "1")] + pub versions: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct VersionEntry { + #[prost(uint32, tag = "1")] + pub version_number: u32, + #[prost(uint32, tag = "2")] + pub vote_count: u32, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Versions(Versions), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetVersionUpgradeStateResponseV0), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetVersionUpgradeVoteStatusRequest { + #[prost(oneof = "get_version_upgrade_vote_status_request::Version", tags = "1")] + pub version: ::core::option::Option< + get_version_upgrade_vote_status_request::Version, + >, +} +/// Nested message and enum types in `GetVersionUpgradeVoteStatusRequest`. +pub mod get_version_upgrade_vote_status_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetVersionUpgradeVoteStatusRequestV0 { + #[prost(bytes = "vec", tag = "1")] + pub start_pro_tx_hash: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub count: u32, + #[prost(bool, tag = "3")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetVersionUpgradeVoteStatusRequestV0), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetVersionUpgradeVoteStatusResponse { + #[prost(oneof = "get_version_upgrade_vote_status_response::Version", tags = "1")] + pub version: ::core::option::Option< + get_version_upgrade_vote_status_response::Version, + >, +} +/// Nested message and enum types in `GetVersionUpgradeVoteStatusResponse`. +pub mod get_version_upgrade_vote_status_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetVersionUpgradeVoteStatusResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost( + oneof = "get_version_upgrade_vote_status_response_v0::Result", + tags = "1, 2" + )] + pub result: ::core::option::Option< + get_version_upgrade_vote_status_response_v0::Result, + >, + } + /// Nested message and enum types in `GetVersionUpgradeVoteStatusResponseV0`. + pub mod get_version_upgrade_vote_status_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct VersionSignals { + #[prost(message, repeated, tag = "1")] + pub version_signals: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct VersionSignal { + #[prost(bytes = "vec", tag = "1")] + pub pro_tx_hash: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub version: u32, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Versions(VersionSignals), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetVersionUpgradeVoteStatusResponseV0), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetEpochsInfoRequest { + #[prost(oneof = "get_epochs_info_request::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetEpochsInfoRequest`. +pub mod get_epochs_info_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetEpochsInfoRequestV0 { + #[prost(message, optional, tag = "1")] + pub start_epoch: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub count: u32, + #[prost(bool, tag = "3")] + pub ascending: bool, + #[prost(bool, tag = "4")] + pub prove: bool, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetEpochsInfoRequestV0), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetEpochsInfoResponse { + #[prost(oneof = "get_epochs_info_response::Version", tags = "1")] + pub version: ::core::option::Option, +} +/// Nested message and enum types in `GetEpochsInfoResponse`. +pub mod get_epochs_info_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct GetEpochsInfoResponseV0 { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_epochs_info_response_v0::Result", tags = "1, 2")] + pub result: ::core::option::Option, + } + /// Nested message and enum types in `GetEpochsInfoResponseV0`. + pub mod get_epochs_info_response_v0 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct EpochInfos { + #[prost(message, repeated, tag = "1")] + pub epoch_infos: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct EpochInfo { + #[prost(uint32, tag = "1")] + pub number: u32, + #[prost(uint64, tag = "2")] + pub first_block_height: u64, + #[prost(uint32, tag = "3")] + pub first_core_block_height: u32, + #[prost(uint64, tag = "4")] + pub start_time: u64, + #[prost(double, tag = "5")] + pub fee_multiplier: f64, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Epochs(EpochInfos), + #[prost(message, tag = "2")] + Proof(super::super::Proof), + } + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Version { + #[prost(message, tag = "1")] + V0(GetEpochsInfoResponseV0), + } +} /// Generated client implementations. pub mod platform_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] @@ -1683,5 +1919,95 @@ pub mod platform_client { ); self.inner.unary(req, path, codec).await } + pub async fn get_version_upgrade_state( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/org.dash.platform.dapi.v0.Platform/getVersionUpgradeState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "org.dash.platform.dapi.v0.Platform", + "getVersionUpgradeState", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_version_upgrade_vote_status( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/org.dash.platform.dapi.v0.Platform/getVersionUpgradeVoteStatus", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "org.dash.platform.dapi.v0.Platform", + "getVersionUpgradeVoteStatus", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_epochs_info( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/org.dash.platform.dapi.v0.Platform/getEpochsInfo", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "org.dash.platform.dapi.v0.Platform", + "getEpochsInfo", + ), + ); + self.inner.unary(req, path, codec).await + } } } diff --git a/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js b/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js index ad9c47854c..555cc9aa18 100644 --- a/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js +++ b/packages/dapi-grpc/test/unit/clients/platform/v0/nodejs/PlatformPromiseClient.spec.js @@ -15,6 +15,9 @@ describe('PlatformPromiseClient', () => { getIdentity: this.sinon.stub().resolves(response), getDataContract: this.sinon.stub().resolves(response), getDocuments: this.sinon.stub().resolves(response), + getEpochsInfo: this.sinon.stub().resolves(response), + getVersionUpgradeVoteStatus: this.sinon.stub().resolves(response), + getVersionUpgradeState: this.sinon.stub().resolves(response), }; }); @@ -84,4 +87,32 @@ describe('PlatformPromiseClient', () => { expect(platformPromiseClient.client.getDocuments).to.be.calledOnceWith(request); }); }); + + describe('#getEpochsInfo', () => { + it('should get epochs info', async () => { + const result = await platformPromiseClient.getEpochsInfo(request); + + expect(result).to.equal(response); + expect(platformPromiseClient.client.getEpochsInfo).to.be.calledOnceWith(request); + }); + }); + + describe('#getVersionUpgradeVoteStatus', () => { + it('should get version upgrade vote status', async () => { + const result = await platformPromiseClient.getVersionUpgradeVoteStatus(request); + + expect(result).to.equal(response); + expect(platformPromiseClient.client.getVersionUpgradeVoteStatus) + .to.be.calledOnceWith(request); + }); + }); + + describe('#getVersionUpgradeState', () => { + it('should get version upgrade state', async () => { + const result = await platformPromiseClient.getVersionUpgradeState(request); + + expect(result).to.equal(response); + expect(platformPromiseClient.client.getVersionUpgradeState).to.be.calledOnceWith(request); + }); + }); }); diff --git a/packages/dapi/lib/externalApis/drive/DriveClient.js b/packages/dapi/lib/externalApis/drive/DriveClient.js index bf585f1cfa..dbd982591a 100644 --- a/packages/dapi/lib/externalApis/drive/DriveClient.js +++ b/packages/dapi/lib/externalApis/drive/DriveClient.js @@ -133,6 +133,45 @@ class DriveClient { request.serializeBinary(), ); } + + /** + * Fetch epoch infos + * + * @param {GetEpochsInfoRequest} request + * @return {Promise} + */ + async fetchEpochsInfo(request) { + return this.request( + '/epochInfos', + request.serializeBinary(), + ); + } + + /** + * Fetch version upgrade vote status + * + * @param {GetVersionUpgradeVoteStatusRequest} request + * @return {Promise} + */ + async fetchVersionUpgradeVoteStatus(request) { + return this.request( + '/versionUpgrade/voteStatus', + request.serializeBinary(), + ); + } + + /** + * Fetch version upgrade state + * + * @param {GetVersionUpgradeStateRequest} request + * @return {Promise} + */ + async fetchVersionUpgradeState(request) { + return this.request( + '/versionUpgrade/state', + request.serializeBinary(), + ); + } } module.exports = DriveClient; diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.js new file mode 100644 index 0000000000..240fa42969 --- /dev/null +++ b/packages/dapi/lib/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.js @@ -0,0 +1,32 @@ +const { + v0: { + GetEpochsInfoResponse, + }, +} = require('@dashevo/dapi-grpc'); + +/** + * @param {DriveClient} driveClient + * + * @returns {getEpochsInfoHandler} + */ +function getEpochsInfoHandlerFactory(driveClient) { + /** + * @typedef getEpochsInfoHandler + * + * @param {Object} call + * + * @return {Promise} + */ + async function getEpochsInfoHandler(call) { + const { request } = call; + + const epochsInfoBuffer = await driveClient + .fetchEpochsInfo(request); + + return GetEpochsInfoResponse.deserializeBinary(epochsInfoBuffer); + } + + return getEpochsInfoHandler; +} + +module.exports = getEpochsInfoHandlerFactory; diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.js new file mode 100644 index 0000000000..95019f1a84 --- /dev/null +++ b/packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.js @@ -0,0 +1,33 @@ +const { + v0: { + GetVersionUpgradeStateResponse, + }, +} = require('@dashevo/dapi-grpc'); + +/** + * @param {DriveClient} driveClient + * + * @returns {getVersionUpgradeStateHandler} + */ +function getVersionUpgradeStateHandlerFactory(driveClient) { + /** + * @typedef getVersionUpgradeStateHandler + * + * @param {Object} call + * + * @return {Promise} + */ + async function getVersionUpgradeStateHandler(call) { + const { request } = call; + + const versionUpgradeStateBuffer = await driveClient + .fetchVersionUpgradeState(request); + + return GetVersionUpgradeStateResponse + .deserializeBinary(versionUpgradeStateBuffer); + } + + return getVersionUpgradeStateHandler; +} + +module.exports = getVersionUpgradeStateHandlerFactory; diff --git a/packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.js new file mode 100644 index 0000000000..65d3b1d24b --- /dev/null +++ b/packages/dapi/lib/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.js @@ -0,0 +1,33 @@ +const { + v0: { + GetVersionUpgradeVoteStatusResponse, + }, +} = require('@dashevo/dapi-grpc'); + +/** + * @param {DriveClient} driveClient + * + * @returns {getVersionUpgradeVoteStatusHandler} + */ +function getVersionUpgradeVoteStatusHandlerFactory(driveClient) { + /** + * @typedef getVersionUpgradeVoteStatusHandler + * + * @param {Object} call + * + * @return {Promise} + */ + async function getVersionUpgradeVoteStatusHandler(call) { + const { request } = call; + + const versionUpgradeVoteStatusBuffer = await driveClient + .fetchVersionUpgradeVoteStatus(request); + + return GetVersionUpgradeVoteStatusResponse + .deserializeBinary(versionUpgradeVoteStatusBuffer); + } + + return getVersionUpgradeVoteStatusHandler; +} + +module.exports = getVersionUpgradeVoteStatusHandlerFactory; diff --git a/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js b/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js index b993922416..378e31532a 100644 --- a/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js +++ b/packages/dapi/lib/grpcServer/handlers/platform/platformHandlersFactory.js @@ -23,6 +23,9 @@ const { GetIdentitiesByPublicKeyHashesRequest, WaitForStateTransitionResultRequest, GetConsensusParamsRequest, + GetEpochsInfoRequest, + GetVersionUpgradeVoteStatusRequest, + GetVersionUpgradeStateRequest, pbjs: { BroadcastStateTransitionRequest: PBJSBroadcastStateTransitionRequest, BroadcastStateTransitionResponse: PBJSBroadcastStateTransitionResponse, @@ -40,6 +43,12 @@ const { GetConsensusParamsResponse: PBJSGetConsensusParamsResponse, GetDataContractHistoryRequest: PBJSGetDataContractHistoryRequest, GetDataContractHistoryResponse: PBJSGetDataContractHistoryResponse, + GetEpochsInfoRequest: PBJSGetEpochsInfoRequest, + GetEpochsInfoResponse: PBJSGetEpochsInfoResponse, + GetVersionUpgradeVoteStatusRequest: PBJSGetVersionUpgradeVoteStatusRequest, + GetVersionUpgradeVoteStatusResponse: PBJSGetVersionUpgradeVoteStatusResponse, + GetVersionUpgradeStateRequest: PBJSGetVersionUpgradeStateRequest, + GetVersionUpgradeStateResponse: PBJSGetVersionUpgradeStateResponse, }, }, } = require('@dashevo/dapi-grpc'); @@ -72,6 +81,17 @@ const waitForStateTransitionResultHandlerFactory = require( const getConsensusParamsHandlerFactory = require( './getConsensusParamsHandlerFactory', ); +const getEpochsInfoHandlerFactory = require( + './getEpochsInfoHandlerFactory', +); + +const getVersionUpgradeVoteStatusHandlerFactory = require( + './getVersionUpgradeVoteStatusHandlerFactory', +); + +const getVersionUpgradeStateHandlerFactory = require( + './getVersionUpgradeStateHandlerFactory', +); const fetchProofForStateTransitionFactory = require('../../../externalApis/drive/fetchProofForStateTransitionFactory'); const waitForTransactionToBeProvableFactory = require('../../../externalApis/tenderdash/waitForTransactionToBeProvable/waitForTransactionToBeProvableFactory'); @@ -239,6 +259,54 @@ function platformHandlersFactory( wrapInErrorHandler(getConsensusParamsHandler), ); + // getEpochsInfo + const getEpochsInfoHandler = getEpochsInfoHandlerFactory( + driveClient, + ); + + const wrappedGetEpochsInfo = jsonToProtobufHandlerWrapper( + jsonToProtobufFactory( + GetEpochsInfoRequest, + PBJSGetEpochsInfoRequest, + ), + protobufToJsonFactory( + PBJSGetEpochsInfoResponse, + ), + wrapInErrorHandler(getEpochsInfoHandler), + ); + + // getVersionUpgradeVoteStatus + const getVersionUpgradeVoteStatusHandler = getVersionUpgradeVoteStatusHandlerFactory( + driveClient, + ); + + const wrappedGetVersionUpgradeVoteStatus = jsonToProtobufHandlerWrapper( + jsonToProtobufFactory( + GetVersionUpgradeVoteStatusRequest, + PBJSGetVersionUpgradeVoteStatusRequest, + ), + protobufToJsonFactory( + PBJSGetVersionUpgradeVoteStatusResponse, + ), + wrapInErrorHandler(getVersionUpgradeVoteStatusHandler), + ); + + // getVersionUpgradeState + const getVersionUpgradeStateHandler = getVersionUpgradeStateHandlerFactory( + driveClient, + ); + + const wrappedGetVersionUpgradeState = jsonToProtobufHandlerWrapper( + jsonToProtobufFactory( + GetVersionUpgradeStateRequest, + PBJSGetVersionUpgradeStateRequest, + ), + protobufToJsonFactory( + PBJSGetVersionUpgradeStateResponse, + ), + wrapInErrorHandler(getVersionUpgradeStateHandler), + ); + return { broadcastStateTransition: wrappedBroadcastStateTransition, getIdentity: wrappedGetIdentity, @@ -248,6 +316,9 @@ function platformHandlersFactory( getIdentitiesByPublicKeyHashes: wrappedGetIdentitiesByPublicKeyHashes, waitForStateTransitionResult: wrappedWaitForStateTransitionResult, getConsensusParams: wrappedGetConsensusParams, + getEpochsInfo: wrappedGetEpochsInfo, + getVersionUpgradeVoteStatus: wrappedGetVersionUpgradeVoteStatus, + getVersionUpgradeState: wrappedGetVersionUpgradeState, }; } diff --git a/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js b/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js index 4ba4758be2..f803637cad 100644 --- a/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js +++ b/packages/dapi/test/unit/externalApis/drive/DriveClient.spec.js @@ -5,7 +5,7 @@ const cbor = require('cbor'); const chaiAsPromised = require('chai-as-promised'); const dirtyChai = require('dirty-chai'); -const { BytesValue } = require('google-protobuf/google/protobuf/wrappers_pb'); +const { BytesValue, UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); const InvalidArgumentGrpcError = require('@dashevo/grpc-common/lib/server/error/InvalidArgumentGrpcError'); @@ -18,10 +18,16 @@ const { GetDataContractResponse, GetDocumentsRequest, GetDocumentsResponse, + GetEpochsInfoRequest, + GetEpochsInfoResponse, GetIdentityRequest, GetIdentityResponse, GetProofsRequest, GetProofsResponse, + GetVersionUpgradeStateRequest, + GetVersionUpgradeStateResponse, + GetVersionUpgradeVoteStatusRequest, + GetVersionUpgradeVoteStatusResponse, Proof, ResponseMetadata, }, @@ -319,4 +325,147 @@ describe('DriveClient', () => { ); }); }); + + describe('#fetchEpochsInfo', () => { + it('should call \'fetchEpochsInfo\' RPC with the given parameters', async () => { + const drive = new DriveClient({ host: '127.0.0.1', port: 3000 }); + + const { GetEpochsInfoRequestV0 } = GetEpochsInfoRequest; + const request = new GetEpochsInfoRequest(); + request.setV0( + new GetEpochsInfoRequestV0() + .setStartEpoch(new UInt32Value([1])) + .setCount(1), + ); + + const { GetEpochsInfoResponseV0 } = GetEpochsInfoResponse; + const response = new GetEpochsInfoResponse(); + const { EpochInfo, EpochInfos } = GetEpochsInfoResponseV0; + response.setV0( + new GetEpochsInfoResponseV0() + .setEpochs(new EpochInfos() + .setEpochInfosList([new EpochInfo() + .setNumber(1) + .setFirstBlockHeight(1) + .setFirstCoreBlockHeight(1) + .setStartTime(Date.now()) + .setFeeMultiplier(1.1)])), + ); + + const responseBytes = response.serializeBinary(); + + sinon.stub(drive.client, 'request') + .resolves({ + result: { + response: { code: 0, value: responseBytes }, + }, + }); + + const result = await drive.fetchEpochsInfo(request); + + expect(drive.client.request).to.have.been.calledOnceWithExactly('abci_query', { + path: '/epochInfos', + data: Buffer.from(request.serializeBinary()).toString('hex'), + }); + + expect(result).to.be.deep.equal( + responseBytes, + ); + }); + }); + + describe('#fetchVersionUpgradeVoteStatus', () => { + it('should call \'fetchEpochsInfo\' RPC with the given parameters', async () => { + const drive = new DriveClient({ host: '127.0.0.1', port: 3000 }); + + const { GetVersionUpgradeVoteStatusRequestV0 } = GetVersionUpgradeVoteStatusRequest; + const request = new GetVersionUpgradeVoteStatusRequest(); + request.setV0( + new GetVersionUpgradeVoteStatusRequestV0() + .setStartProTxHash(Buffer.alloc(32)) + .setCount(1), + ); + + const { GetVersionUpgradeVoteStatusResponseV0 } = GetVersionUpgradeVoteStatusResponse; + const response = new GetVersionUpgradeVoteStatusResponse(); + const { VersionSignal, VersionSignals } = GetVersionUpgradeVoteStatusResponseV0; + response.setV0( + new GetVersionUpgradeVoteStatusResponseV0() + .setVersions( + new VersionSignals() + .setVersionSignalsList([ + new VersionSignal() + .setProTxHash(Buffer.alloc(32)) + .setVersion(10), + ]), + + ), + ); + + const responseBytes = response.serializeBinary(); + + sinon.stub(drive.client, 'request') + .resolves({ + result: { + response: { code: 0, value: responseBytes }, + }, + }); + + const result = await drive.fetchVersionUpgradeVoteStatus(request); + + expect(drive.client.request).to.have.been.calledOnceWithExactly('abci_query', { + path: '/versionUpgrade/voteStatus', + data: Buffer.from(request.serializeBinary()).toString('hex'), + }); + + expect(result).to.be.deep.equal( + responseBytes, + ); + }); + }); + + describe('#fetchVersionUpgradeState', () => { + it('should call \'fetchEpochsInfo\' RPC with the given parameters', async () => { + const drive = new DriveClient({ host: '127.0.0.1', port: 3000 }); + + const { GetVersionUpgradeStateRequestV0 } = GetVersionUpgradeStateRequest; + const request = new GetVersionUpgradeStateRequest(); + request.setV0(new GetVersionUpgradeStateRequestV0()); + + const { GetVersionUpgradeStateResponseV0 } = GetVersionUpgradeStateResponse; + const response = new GetVersionUpgradeStateResponse(); + const { Versions, VersionEntry } = GetVersionUpgradeStateResponseV0; + response.setV0( + new GetVersionUpgradeStateResponseV0() + .setVersions( + new Versions() + .setVersionsList([ + new VersionEntry() + .setVersionNumber(1) + .setVoteCount(10), + ]), + ), + ); + + const responseBytes = response.serializeBinary(); + + sinon.stub(drive.client, 'request') + .resolves({ + result: { + response: { code: 0, value: responseBytes }, + }, + }); + + const result = await drive.fetchVersionUpgradeState(request); + + expect(drive.client.request).to.have.been.calledOnceWithExactly('abci_query', { + path: '/versionUpgrade/state', + data: Buffer.from(request.serializeBinary()).toString('hex'), + }); + + expect(result).to.be.deep.equal( + responseBytes, + ); + }); + }); }); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.spec.js new file mode 100644 index 0000000000..151f43b4e8 --- /dev/null +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getEpochsInfoHandlerFactory.spec.js @@ -0,0 +1,113 @@ +const { + v0: { + GetEpochsInfoResponse, + Proof, + }, +} = require('@dashevo/dapi-grpc'); + +const getEpochsInfoHandlerFactory = require('../../../../../lib/grpcServer/handlers/platform/getEpochsInfoHandlerFactory'); + +const GrpcCallMock = require('../../../../../lib/test/mock/GrpcCallMock'); + +describe('getEpochsInfoHandlerFactory', () => { + let call; + let driveStateRepositoryMock; + let getEpochsInfoHandler; + let epochNumber; + let proofFixture; + let proofMock; + let request; + let response; + let proofResponse; + + beforeEach(async function beforeEach() { + request = { + getProve: this.sinon.stub().returns(false), + }; + call = new GrpcCallMock(this.sinon, { + getV0: () => request, + }); + + proofFixture = { + merkleProof: Buffer.alloc(1, 1), + }; + + proofMock = new Proof(); + proofMock.setGrovedbProof(proofFixture.merkleProof); + + epochNumber = 1; + const { GetEpochsInfoResponseV0 } = GetEpochsInfoResponse; + const { EpochInfos, EpochInfo } = GetEpochsInfoResponseV0; + response = new GetEpochsInfoResponse(); + response.setV0( + new GetEpochsInfoResponseV0() + .setEpochs(new EpochInfos() + .setEpochInfosList([new EpochInfo() + .setNumber(epochNumber) + .setFirstBlockHeight(1) + .setFirstCoreBlockHeight(1) + .setStartTime(Date.now()) + .setFeeMultiplier(1.1)])), + ); + + proofResponse = new GetEpochsInfoResponse(); + proofResponse.setV0( + new GetEpochsInfoResponseV0() + .setProof(proofMock), + ); + + driveStateRepositoryMock = { + fetchEpochsInfo: this.sinon.stub().resolves(response.serializeBinary()), + }; + + getEpochsInfoHandler = getEpochsInfoHandlerFactory( + driveStateRepositoryMock, + ); + }); + + it('should return valid result', async () => { + const result = await getEpochsInfoHandler(call); + + expect(result).to.be.an.instanceOf(GetEpochsInfoResponse); + expect(result.getV0() + .getEpochs().getEpochInfosList()[0].getNumber()).to.equal(epochNumber); + expect(driveStateRepositoryMock.fetchEpochsInfo).to.be.calledOnceWith(call.request); + + const proof = result.getV0().getProof(); + expect(proof).to.be.undefined(); + }); + + it('should return proof', async () => { + request.getProve.returns(true); + + driveStateRepositoryMock.fetchEpochsInfo.resolves(proofResponse.serializeBinary()); + + const result = await getEpochsInfoHandler(call); + + expect(result).to.be.an.instanceOf(GetEpochsInfoResponse); + + const proof = result.getV0().getProof(); + + expect(proof).to.be.an.instanceOf(Proof); + const merkleProof = proof.getGrovedbProof(); + + expect(merkleProof).to.deep.equal(proofFixture.merkleProof); + + expect(driveStateRepositoryMock.fetchEpochsInfo).to.be.calledOnceWith(call.request); + }); + + it('should throw an error when fetchEpochsInfo throws unknown error', async () => { + const error = new Error('Unknown error'); + + driveStateRepositoryMock.fetchEpochsInfo.throws(error); + + try { + await getEpochsInfoHandler(call); + + expect.fail('should throw an error'); + } catch (e) { + expect(e).to.equal(error); + expect(driveStateRepositoryMock.fetchEpochsInfo).to.be.calledOnceWith(call.request); + } + }); +}); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.spec.js new file mode 100644 index 0000000000..20533f9c20 --- /dev/null +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory.spec.js @@ -0,0 +1,116 @@ +const { + v0: { + GetVersionUpgradeStateResponse, + Proof, + }, +} = require('@dashevo/dapi-grpc'); + +const getVersionUpgradeStateHandlerFactory = require('../../../../../lib/grpcServer/handlers/platform/getVersionUpgradeStateHandlerFactory'); + +const GrpcCallMock = require('../../../../../lib/test/mock/GrpcCallMock'); + +describe('getVersionUpgradeStateHandlerFactory', () => { + let call; + let driveStateRepositoryMock; + let getVersionUpgradeStateHandler; + let versionNumber; + let voteCount; + let proofFixture; + let proofMock; + let request; + let response; + let proofResponse; + + beforeEach(async function beforeEach() { + request = { + getProve: this.sinon.stub().returns(false), + }; + call = new GrpcCallMock(this.sinon, { + getV0: () => request, + }); + + proofFixture = { + merkleProof: Buffer.alloc(1, 1), + }; + + proofMock = new Proof(); + proofMock.setGrovedbProof(proofFixture.merkleProof); + + versionNumber = 1; + voteCount = 1; + const { GetVersionUpgradeStateResponseV0 } = GetVersionUpgradeStateResponse; + const { Versions, VersionEntry } = GetVersionUpgradeStateResponseV0; + response = new GetVersionUpgradeStateResponse(); + response.setV0( + new GetVersionUpgradeStateResponseV0() + .setVersions(new Versions() + .setVersionsList([new VersionEntry() + .setVersionNumber(versionNumber) + .setVoteCount(voteCount)])), + ); + + proofResponse = new GetVersionUpgradeStateResponse(); + proofResponse.setV0( + new GetVersionUpgradeStateResponseV0() + .setProof(proofMock), + ); + + driveStateRepositoryMock = { + fetchVersionUpgradeState: this.sinon.stub().resolves(response.serializeBinary()), + }; + + getVersionUpgradeStateHandler = getVersionUpgradeStateHandlerFactory( + driveStateRepositoryMock, + ); + }); + + it('should return valid result', async () => { + const result = await getVersionUpgradeStateHandler(call); + + expect(result).to.be.an.instanceOf(GetVersionUpgradeStateResponse); + expect(result.getV0() + .getVersions().getVersionsList()[0].getVersionNumber()).to.deep.equal(versionNumber); + expect(driveStateRepositoryMock.fetchVersionUpgradeState) + .to.be.calledOnceWith(call.request); + + const proof = result.getV0().getProof(); + expect(proof).to.be.undefined(); + }); + + it('should return proof', async () => { + request.getProve.returns(true); + + driveStateRepositoryMock.fetchVersionUpgradeState + .resolves(proofResponse.serializeBinary()); + + const result = await getVersionUpgradeStateHandler(call); + + expect(result).to.be.an.instanceOf(GetVersionUpgradeStateResponse); + + const proof = result.getV0().getProof(); + + expect(proof).to.be.an.instanceOf(Proof); + const merkleProof = proof.getGrovedbProof(); + + expect(merkleProof).to.deep.equal(proofFixture.merkleProof); + + expect(driveStateRepositoryMock.fetchVersionUpgradeState) + .to.be.calledOnceWith(call.request); + }); + + it('should throw an error when fetchVersionUpgradeState throws unknown error', async () => { + const error = new Error('Unknown error'); + + driveStateRepositoryMock.fetchVersionUpgradeState.throws(error); + + try { + await getVersionUpgradeStateHandler(call); + + expect.fail('should throw an error'); + } catch (e) { + expect(e).to.equal(error); + expect(driveStateRepositoryMock.fetchVersionUpgradeState) + .to.be.calledOnceWith(call.request); + } + }); +}); diff --git a/packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.spec.js b/packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.spec.js new file mode 100644 index 0000000000..b5d728ab91 --- /dev/null +++ b/packages/dapi/test/unit/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory.spec.js @@ -0,0 +1,116 @@ +const { + v0: { + GetVersionUpgradeVoteStatusResponse, + Proof, + }, +} = require('@dashevo/dapi-grpc'); + +const getVersionUpgradeVoteStatusHandlerFactory = require('../../../../../lib/grpcServer/handlers/platform/getVersionUpgradeVoteStatusHandlerFactory'); + +const GrpcCallMock = require('../../../../../lib/test/mock/GrpcCallMock'); + +describe('getVersionUpgradeVoteStatusHandlerFactory', () => { + let call; + let driveStateRepositoryMock; + let getVersionUpgradeVoteStatusHandler; + let proTxHash; + let version; + let proofFixture; + let proofMock; + let request; + let response; + let proofResponse; + + beforeEach(async function beforeEach() { + request = { + getProve: this.sinon.stub().returns(false), + }; + call = new GrpcCallMock(this.sinon, { + getV0: () => request, + }); + + proofFixture = { + merkleProof: Buffer.alloc(1, 1), + }; + + proofMock = new Proof(); + proofMock.setGrovedbProof(proofFixture.merkleProof); + + version = 1; + proTxHash = Buffer.alloc(32).fill(1); + const { GetVersionUpgradeVoteStatusResponseV0 } = GetVersionUpgradeVoteStatusResponse; + const { VersionSignals, VersionSignal } = GetVersionUpgradeVoteStatusResponseV0; + response = new GetVersionUpgradeVoteStatusResponse(); + response.setV0( + new GetVersionUpgradeVoteStatusResponseV0() + .setVersions(new VersionSignals() + .setVersionSignalsList([new VersionSignal() + .setProTxHash(proTxHash) + .setVersion(version)])), + ); + + proofResponse = new GetVersionUpgradeVoteStatusResponse(); + proofResponse.setV0( + new GetVersionUpgradeVoteStatusResponseV0() + .setProof(proofMock), + ); + + driveStateRepositoryMock = { + fetchVersionUpgradeVoteStatus: this.sinon.stub().resolves(response.serializeBinary()), + }; + + getVersionUpgradeVoteStatusHandler = getVersionUpgradeVoteStatusHandlerFactory( + driveStateRepositoryMock, + ); + }); + + it('should return valid result', async () => { + const result = await getVersionUpgradeVoteStatusHandler(call); + + expect(result).to.be.an.instanceOf(GetVersionUpgradeVoteStatusResponse); + expect(result.getV0() + .getVersions().getVersionSignalsList()[0].getProTxHash()).to.deep.equal(proTxHash); + expect(driveStateRepositoryMock.fetchVersionUpgradeVoteStatus) + .to.be.calledOnceWith(call.request); + + const proof = result.getV0().getProof(); + expect(proof).to.be.undefined(); + }); + + it('should return proof', async () => { + request.getProve.returns(true); + + driveStateRepositoryMock.fetchVersionUpgradeVoteStatus + .resolves(proofResponse.serializeBinary()); + + const result = await getVersionUpgradeVoteStatusHandler(call); + + expect(result).to.be.an.instanceOf(GetVersionUpgradeVoteStatusResponse); + + const proof = result.getV0().getProof(); + + expect(proof).to.be.an.instanceOf(Proof); + const merkleProof = proof.getGrovedbProof(); + + expect(merkleProof).to.deep.equal(proofFixture.merkleProof); + + expect(driveStateRepositoryMock.fetchVersionUpgradeVoteStatus) + .to.be.calledOnceWith(call.request); + }); + + it('should throw an error when fetchVersionUpgradeVoteStatus throws unknown error', async () => { + const error = new Error('Unknown error'); + + driveStateRepositoryMock.fetchVersionUpgradeVoteStatus.throws(error); + + try { + await getVersionUpgradeVoteStatusHandler(call); + + expect.fail('should throw an error'); + } catch (e) { + expect(e).to.equal(error); + expect(driveStateRepositoryMock.fetchVersionUpgradeVoteStatus) + .to.be.calledOnceWith(call.request); + } + }); +}); diff --git a/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js b/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js index cd4328e11a..dfead71a5d 100644 --- a/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js +++ b/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js @@ -6,6 +6,9 @@ const getIdentityFactory = require('./getIdentity/getIdentityFactory'); const getIdentitiesByPublicKeyHashesFactory = require('./getIdentitiesByPublicKeyHashes/getIdentitiesByPublicKeyHashesFactory'); const waitForStateTransitionResultFactory = require('./waitForStateTransitionResult/waitForStateTransitionResultFactory'); const getConsensusParamsFactory = require('./getConsensusParams/getConsensusParamsFactory'); +const getEpochsInfoFactory = require('./getEpochsInfo/getEpochsInfoFactory'); +const getVersionUpgradeVoteStatusFactory = require('./getVersionUpgradeVoteStatus/getVersionUpgradeVoteStatusFactory'); +const getVersionUpgradeStateFactory = require('./getVersionUpgradeState/getVersionUpgradeStateFactory'); class PlatformMethodsFacade { /** @@ -20,6 +23,9 @@ class PlatformMethodsFacade { this.getIdentitiesByPublicKeyHashes = getIdentitiesByPublicKeyHashesFactory(grpcTransport); this.waitForStateTransitionResult = waitForStateTransitionResultFactory(grpcTransport); this.getConsensusParams = getConsensusParamsFactory(grpcTransport); + this.getEpochsInfo = getEpochsInfoFactory(grpcTransport); + this.getVersionUpgradeVoteStatus = getVersionUpgradeVoteStatusFactory(grpcTransport); + this.getVersionUpgradeState = getVersionUpgradeStateFactory(grpcTransport); } } diff --git a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js new file mode 100644 index 0000000000..47638bbc5c --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js @@ -0,0 +1,54 @@ +class EpochInfo { + /** + * + * @param {number} number + * @param {number} firstBlockHeight + * @param {number} firstCoreBlockHeight + * @param {number} startTime + * @param {number} feeMultiplier + */ + constructor(number, firstBlockHeight, firstCoreBlockHeight, startTime, feeMultiplier) { + this.number = number; + this.firstBlockHeight = firstBlockHeight; + this.firstCoreBlockHeight = firstCoreBlockHeight; + this.startTime = startTime; + this.feeMultiplier = feeMultiplier; + } + + /** + * @returns {number} + */ + getNumber() { + return this.number; + } + + /** + * @returns {number} + */ + getFirstBlockHeight() { + return this.firstBlockHeight; + } + + /** + * @returns {number} + */ + getFirstCoreBlockHeight() { + return this.firstCoreBlockHeight; + } + + /** + * @returns {number} + */ + getStartTime() { + return this.startTime; + } + + /** + * @returns {number} + */ + getFeeMultiplier() { + return this.feeMultiplier; + } +} + +module.exports = EpochInfo; diff --git a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js new file mode 100644 index 0000000000..874d99d70e --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js @@ -0,0 +1,59 @@ +const AbstractResponse = require('../response/AbstractResponse'); +const EpochInfo = require('./EpochInfo'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +class GetEpochsInfoResponse extends AbstractResponse { + /** + * @param {EpochInfo[]} epochsInfo + * @param {Metadata} metadata + * @param {Proof} [proof] + */ + constructor(epochsInfo, metadata, proof = undefined) { + super(metadata, proof); + + this.epochsInfo = epochsInfo; + } + + /** + * @returns {EpochInfo[]} + */ + getEpochsInfo() { + return this.epochsInfo; + } + + /** + * @param proto + * @returns {GetEpochsInfoResponse} + */ + static createFromProto(proto) { + const epochs = proto.getV0().getEpochs(); + const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto( + proto, + ); + + if (!epochs && !proof) { + throw new InvalidResponseError('Epochs are not defined'); + } + + let epochsInfo = []; + + const epochsInfoList = epochs && epochs.getEpochInfosList(); + if (epochsInfoList) { + epochsInfo = epochsInfoList.map((epoch) => new EpochInfo( + epoch.getNumber(), + epoch.getFirstBlockHeight(), + epoch.getFirstCoreBlockHeight(), + epoch.getStartTime(), + epoch.getFeeMultiplier(), + )); + } + + return new GetEpochsInfoResponse( + epochsInfo, + metadata, + proof, + ); + } +} + +module.exports = GetEpochsInfoResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js new file mode 100644 index 0000000000..30314d5b0e --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js @@ -0,0 +1,69 @@ +const { + v0: { + PlatformPromiseClient, + GetEpochsInfoRequest, + }, +} = require('@dashevo/dapi-grpc'); + +const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); + +const GetEpochsInfoResponse = require('./GetEpochsInfoResponse'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +/** + * @param {GrpcTransport} grpcTransport + * @returns {getEpochsInfo} + */ +function getEpochsInfoFactory(grpcTransport) { + /** + * Fetch the epoch info + * + * @typedef {getEpochsInfo} + * @param {number} startEpoch + * @param {number} count + * @param {DAPIClientOptions & {prove: boolean, ascending: boolean}} [options] + * @returns {Promise} + */ + async function getEpochsInfo(startEpoch, count, options = {}) { + const { GetEpochsInfoRequestV0 } = GetEpochsInfoRequest; + const getEpochInfosRequest = new GetEpochsInfoRequest(); + getEpochInfosRequest.setV0( + new GetEpochsInfoRequestV0() + .setStartEpoch(new UInt32Value([startEpoch])) + .setCount(count) + .setAscending(!!options.ascending) + .setProve(!!options.prove), + ); + + let lastError; + + // TODO: simple retry before the dapi versioning is properly implemented + for (let i = 0; i < 3; i += 1) { + try { + // eslint-disable-next-line no-await-in-loop + const getEpochsInfoResponse = await grpcTransport.request( + PlatformPromiseClient, + 'getEpochsInfo', + getEpochInfosRequest, + options, + ); + + return GetEpochsInfoResponse.createFromProto(getEpochsInfoResponse); + } catch (e) { + if (e instanceof InvalidResponseError) { + lastError = e; + } else { + throw e; + } + } + } + + // If we made it past the cycle it means that the retry didn't work, + // and we're throwing the last error encountered + throw lastError; + } + + return getEpochsInfo; +} + +module.exports = getEpochsInfoFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.js b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.js new file mode 100644 index 0000000000..f530cf73df --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.js @@ -0,0 +1,56 @@ +const AbstractResponse = require('../response/AbstractResponse'); +const VersionEntry = require('./VersionEntry'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +class GetVersionUpgradeStateResponse extends AbstractResponse { + /** + * @param {VersionEntry[]} versionEntries + * @param {Metadata} metadata + * @param {Proof} [proof] + */ + constructor(versionEntries, metadata, proof = undefined) { + super(metadata, proof); + + this.versionEntries = versionEntries; + } + + /** + * @returns {VersionEntry[]} + */ + getVersionEntries() { + return this.versionEntries; + } + + /** + * @param proto + * @returns {GetVersionUpgradeStateResponse} + */ + static createFromProto(proto) { + const versions = proto.getV0().getVersions(); + const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto( + proto, + ); + + if (!versions && !proof) { + throw new InvalidResponseError('Version upgrade state is not defined'); + } + + let versionEntries = []; + + const versionsList = versions && versions.getVersionsList(); + if (versionsList) { + versionEntries = versionsList.map((versionSignal) => new VersionEntry( + versionSignal.getVersionNumber(), + versionSignal.getVoteCount(), + )); + } + + return new GetVersionUpgradeStateResponse( + versionEntries, + metadata, + proof, + ); + } +} + +module.exports = GetVersionUpgradeStateResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/VersionEntry.js b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/VersionEntry.js new file mode 100644 index 0000000000..7ddfe52c45 --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/VersionEntry.js @@ -0,0 +1,26 @@ +class VersionEntry { + /** + * @param {number} versionNumber + * @param {number} voteCount + */ + constructor(versionNumber, voteCount) { + this.versionNumber = versionNumber; + this.voteCount = voteCount; + } + + /** + * @returns {number} + */ + getVersionNumber() { + return this.versionNumber; + } + + /** + * @returns {number} + */ + getVoteCount() { + return this.voteCount; + } +} + +module.exports = VersionEntry; diff --git a/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.js b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.js new file mode 100644 index 0000000000..cefa59a2a0 --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.js @@ -0,0 +1,63 @@ +const { + v0: { + PlatformPromiseClient, + GetVersionUpgradeStateRequest, + }, +} = require('@dashevo/dapi-grpc'); + +const GetVersionUpgradeStateResponse = require('./GetVersionUpgradeStateResponse'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +/** + * @param {GrpcTransport} grpcTransport + * @returns {getVersionUpgradeState} + */ +function getVersionUpgradeStateFactory(grpcTransport) { + /** + * Fetch the version upgrade state + * + * @typedef {getVersionUpgradeState} + * @param {DAPIClientOptions & {prove: boolean}} [options] + * @returns {Promise} + */ + async function getVersionUpgradeState(options = {}) { + const { GetVersionUpgradeStateRequestV0 } = GetVersionUpgradeStateRequest; + const getVersionUpgradeStateRequest = new GetVersionUpgradeStateRequest(); + getVersionUpgradeStateRequest.setV0( + new GetVersionUpgradeStateRequestV0() + .setProve(!!options.prove), + ); + + let lastError; + + // TODO: simple retry before the dapi versioning is properly implemented + for (let i = 0; i < 3; i += 1) { + try { + // eslint-disable-next-line no-await-in-loop + const getVersionUpgradeStateResponse = await grpcTransport.request( + PlatformPromiseClient, + 'getVersionUpgradeState', + getVersionUpgradeStateRequest, + options, + ); + + return GetVersionUpgradeStateResponse + .createFromProto(getVersionUpgradeStateResponse); + } catch (e) { + if (e instanceof InvalidResponseError) { + lastError = e; + } else { + throw e; + } + } + } + + // If we made it past the cycle it means that the retry didn't work, + // and we're throwing the last error encountered + throw lastError; + } + + return getVersionUpgradeState; +} + +module.exports = getVersionUpgradeStateFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/GetVersionUpgradeVoteStatusResponse.js b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/GetVersionUpgradeVoteStatusResponse.js new file mode 100644 index 0000000000..94a48fdab6 --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/GetVersionUpgradeVoteStatusResponse.js @@ -0,0 +1,56 @@ +const AbstractResponse = require('../response/AbstractResponse'); +const VersionSignal = require('./VersionSignal'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +class GetVersionUpgradeVoteStatusResponse extends AbstractResponse { + /** + * @param {VersionSignal[]} versionSignals + * @param {Metadata} metadata + * @param {Proof} [proof] + */ + constructor(versionSignals, metadata, proof = undefined) { + super(metadata, proof); + + this.versionSignals = versionSignals; + } + + /** + * @returns {VersionSignal[]} + */ + getVersionSignals() { + return this.versionSignals; + } + + /** + * @param proto + * @returns {GetVersionUpgradeVoteStatusResponse} + */ + static createFromProto(proto) { + const versions = proto.getV0().getVersions(); + const { metadata, proof } = AbstractResponse.createMetadataAndProofFromProto( + proto, + ); + + if (!versions && !proof) { + throw new InvalidResponseError('Version upgrade vote status is not defined'); + } + + let versionSignals = []; + + const versionSignalsList = versions && versions.getVersionSignalsList(); + if (versionSignalsList) { + versionSignals = versionSignalsList.map((versionSignal) => new VersionSignal( + Buffer.from(versionSignal.getProTxHash()).toString('hex'), + versionSignal.getVersion(), + )); + } + + return new GetVersionUpgradeVoteStatusResponse( + versionSignals, + metadata, + proof, + ); + } +} + +module.exports = GetVersionUpgradeVoteStatusResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/VersionSignal.js b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/VersionSignal.js new file mode 100644 index 0000000000..7bd4a234f3 --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/VersionSignal.js @@ -0,0 +1,26 @@ +class VersionSignal { + /** + * @param {string} proTxHash + * @param {number} version + */ + constructor(proTxHash, version) { + this.proTxHash = proTxHash; + this.version = version; + } + + /** + * @returns {string} + */ + getProTxHash() { + return this.proTxHash; + } + + /** + * @returns {number} + */ + getVersion() { + return this.version; + } +} + +module.exports = VersionSignal; diff --git a/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/getVersionUpgradeVoteStatusFactory.js b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/getVersionUpgradeVoteStatusFactory.js new file mode 100644 index 0000000000..e97a72591f --- /dev/null +++ b/packages/js-dapi-client/lib/methods/platform/getVersionUpgradeVoteStatus/getVersionUpgradeVoteStatusFactory.js @@ -0,0 +1,67 @@ +const { + v0: { + PlatformPromiseClient, + GetVersionUpgradeVoteStatusRequest, + }, +} = require('@dashevo/dapi-grpc'); + +const GetVersionUpgradeVoteStatusResponse = require('./GetVersionUpgradeVoteStatusResponse'); +const InvalidResponseError = require('../response/errors/InvalidResponseError'); + +/** + * @param {GrpcTransport} grpcTransport + * @returns {getVersionUpgradeVoteStatus} + */ +function getVersionUpgradeVoteStatusFactory(grpcTransport) { + /** + * Fetch the version upgrade vote status + * + * @typedef {getVersionUpgradeVoteStatus} + * @param {string} startProTxHash + * @param {number} count + * @param {DAPIClientOptions & {prove: boolean}} [options] + * @returns {Promise} + */ + async function getVersionUpgradeVoteStatus(startProTxHash, count, options = {}) { + const { GetVersionUpgradeVoteStatusRequestV0 } = GetVersionUpgradeVoteStatusRequest; + const getVersionUpgradeVoteStatusRequest = new GetVersionUpgradeVoteStatusRequest(); + getVersionUpgradeVoteStatusRequest.setV0( + new GetVersionUpgradeVoteStatusRequestV0() + .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setCount(count) + .setProve(!!options.prove), + ); + + let lastError; + + // TODO: simple retry before the dapi versioning is properly implemented + for (let i = 0; i < 3; i += 1) { + try { + // eslint-disable-next-line no-await-in-loop + const getVersionUpgradeVoteStatusResponse = await grpcTransport.request( + PlatformPromiseClient, + 'getVersionUpgradeVoteStatus', + getVersionUpgradeVoteStatusRequest, + options, + ); + + return GetVersionUpgradeVoteStatusResponse + .createFromProto(getVersionUpgradeVoteStatusResponse); + } catch (e) { + if (e instanceof InvalidResponseError) { + lastError = e; + } else { + throw e; + } + } + } + + // If we made it past the cycle it means that the retry didn't work, + // and we're throwing the last error encountered + throw lastError; + } + + return getVersionUpgradeVoteStatus; +} + +module.exports = getVersionUpgradeVoteStatusFactory; diff --git a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js index 61cbf0ca9a..d9cedaef12 100644 --- a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js +++ b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js @@ -4,6 +4,9 @@ const { GetDataContractResponse, GetDocumentsResponse, GetIdentityResponse, + GetEpochsInfoResponse, + GetVersionUpgradeVoteStatusResponse, + GetVersionUpgradeStateResponse, BroadcastStateTransitionResponse, WaitForStateTransitionResultResponse, }, @@ -20,6 +23,9 @@ const { WaitForStateTransitionResultResponseV0 } = WaitForStateTransitionResultR const { GetIdentityResponseV0 } = GetIdentityResponse; const { GetDocumentsResponseV0 } = GetDocumentsResponse; const { GetDataContractResponseV0 } = GetDataContractResponse; +const { GetEpochsInfoResponseV0 } = GetEpochsInfoResponse; +const { GetVersionUpgradeVoteStatusResponseV0 } = GetVersionUpgradeVoteStatusResponse; +const { GetVersionUpgradeStateResponseV0 } = GetVersionUpgradeStateResponse; describe('PlatformMethodsFacade', () => { let grpcTransportMock; @@ -118,4 +124,79 @@ describe('PlatformMethodsFacade', () => { expect(grpcTransportMock.request).to.be.calledOnce(); }); }); + + describe('#getEpochsInfo', () => { + it('should get epochs info', async () => { + const { EpochInfo, EpochInfos } = GetEpochsInfoResponseV0; + + const response = new GetEpochsInfoResponse(); + + response.setV0( + new GetEpochsInfoResponseV0() + .setEpochs(new EpochInfos() + .setEpochInfosList([new EpochInfo() + .setNumber(1) + .setFirstBlockHeight(1) + .setFirstCoreBlockHeight(1) + .setStartTime(Date.now()) + .setFeeMultiplier(1)])) + .setMetadata(new ResponseMetadata()), + ); + + grpcTransportMock.request.resolves(response); + + await platformMethods.getEpochsInfo(1, 1, {}); + + expect(grpcTransportMock.request).to.be.calledOnce(); + }); + }); + + describe('#getVersionUpgradeVoteStatus', () => { + it('should get version upgrade vote status', async () => { + const startProTxHash = Buffer.alloc(32).fill('a').toString('hex'); + const proTxHash = Buffer.alloc(32).fill('b').toString('hex'); + + const { VersionSignal, VersionSignals } = GetVersionUpgradeVoteStatusResponseV0; + + const response = new GetVersionUpgradeVoteStatusResponse(); + + response.setV0( + new GetVersionUpgradeVoteStatusResponseV0() + .setVersions(new VersionSignals() + .setVersionSignalsList([new VersionSignal() + .setProTxHash(proTxHash) + .setVersion(1)])) + .setMetadata(new ResponseMetadata()), + ); + + grpcTransportMock.request.resolves(response); + + await platformMethods.getVersionUpgradeVoteStatus(startProTxHash, 1, {}); + + expect(grpcTransportMock.request).to.be.calledOnce(); + }); + }); + + describe('#getVersionUpgradeState', () => { + it('should get version upgrade state', async () => { + const { VersionEntry, Versions } = GetVersionUpgradeStateResponseV0; + + const response = new GetVersionUpgradeStateResponse(); + + response.setV0( + new GetVersionUpgradeStateResponseV0() + .setVersions(new Versions() + .setVersionsList([new VersionEntry() + .setVersionNumber(1) + .setVoteCount(1)])) + .setMetadata(new ResponseMetadata()), + ); + + grpcTransportMock.request.resolves(response); + + await platformMethods.getVersionUpgradeState({}); + + expect(grpcTransportMock.request).to.be.calledOnce(); + }); + }); }); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js new file mode 100644 index 0000000000..b8d81c1e0c --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js @@ -0,0 +1,145 @@ +const { + v0: { + GetEpochsInfoResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const GetEpochsInfoResponseClass = require('../../../../../lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse'); +const EpochInfoClass = require('../../../../../lib/methods/platform/getEpochsInfo/EpochInfo'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); +const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); + +describe('GetEpochsInfoResponse', () => { + let getEpochsInfoResponse; + let metadataFixture; + let epochInfoFixture; + let proto; + let proofFixture; + + beforeEach(async () => { + metadataFixture = getMetadataFixture(); + epochInfoFixture = new EpochInfoClass(1, 1, 1, Date.now(), 1.1); + proofFixture = getProofFixture(); + + const { GetEpochsInfoResponseV0 } = GetEpochsInfoResponse; + const { EpochInfo, EpochInfos } = GetEpochsInfoResponseV0; + proto = new GetEpochsInfoResponse(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + proto.setV0( + new GetEpochsInfoResponseV0() + .setEpochs(new EpochInfos() + .setEpochInfosList([new EpochInfo() + .setNumber(epochInfoFixture.getNumber()) + .setFirstBlockHeight(epochInfoFixture.getFirstBlockHeight()) + .setFirstCoreBlockHeight(epochInfoFixture.getFirstCoreBlockHeight()) + .setStartTime(epochInfoFixture.getStartTime()) + .setFeeMultiplier(epochInfoFixture.getFeeMultiplier())])) + .setMetadata(metadata), + ); + + getEpochsInfoResponse = new GetEpochsInfoResponseClass( + [epochInfoFixture], + new Metadata(metadataFixture), + ); + }); + + it('should return EpochsInfo', () => { + const epochsInfo = getEpochsInfoResponse.getEpochsInfo(); + const proof = getEpochsInfoResponse.getProof(); + + expect(epochsInfo).to.deep.equal([epochInfoFixture]); + expect(proof).to.equal(undefined); + }); + + it('should return proof', () => { + getEpochsInfoResponse = new GetEpochsInfoResponseClass( + [], + new Metadata(metadataFixture), + new Proof(proofFixture), + ); + + const epochsInfo = getEpochsInfoResponse.getEpochsInfo(); + const proof = getEpochsInfoResponse.getProof(); + + expect(epochsInfo).to.deep.equal([]); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should create an instance from proto', () => { + getEpochsInfoResponse = GetEpochsInfoResponseClass.createFromProto(proto); + expect(getEpochsInfoResponse).to.be.an.instanceOf(GetEpochsInfoResponseClass); + expect(getEpochsInfoResponse.getEpochsInfo()).to.deep.equal([epochInfoFixture]); + + expect(getEpochsInfoResponse.getMetadata()) + .to.be.an.instanceOf(Metadata); + expect(getEpochsInfoResponse.getMetadata().getHeight()) + .to.equal(metadataFixture.height); + expect(getEpochsInfoResponse.getMetadata().getCoreChainLockedHeight()) + .to.equal(metadataFixture.coreChainLockedHeight); + + expect(getEpochsInfoResponse.getProof()).to.equal(undefined); + }); + + it('should create an instance with proof from proto', () => { + const proofProto = new ProofResponse(); + + proofProto.setQuorumHash(proofFixture.quorumHash); + proofProto.setSignature(proofFixture.signature); + proofProto.setGrovedbProof(proofFixture.merkleProof); + proofProto.setRound(proofFixture.round); + + proto.getV0().setEpochs(undefined); + proto.getV0().setProof(proofProto); + + getEpochsInfoResponse = GetEpochsInfoResponseClass.createFromProto(proto); + + expect(getEpochsInfoResponse.getEpochsInfo()).to.deep.equal([]); + expect(getEpochsInfoResponse.getMetadata()).to.deep.equal(metadataFixture); + + const proof = getEpochsInfoResponse.getProof(); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should throw InvalidResponseError if Metadata is not defined', () => { + proto.getV0().setMetadata(undefined); + + try { + getEpochsInfoResponse = GetEpochsInfoResponseClass.createFromProto(proto); + + expect.fail('should throw InvalidResponseError'); + } catch (e) { + expect(e).to.be.an.instanceOf(InvalidResponseError); + } + }); + + it('should throw InvalidResponseError if Epochs are not defined', () => { + proto.getV0().setEpochs(undefined); + + try { + getEpochsInfoResponse = GetEpochsInfoResponseClass.createFromProto(proto); + + expect.fail('should throw InvalidResponseError'); + } catch (e) { + expect(e).to.be.an.instanceOf(InvalidResponseError); + } + }); +}); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js new file mode 100644 index 0000000000..c9b2378beb --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js @@ -0,0 +1,168 @@ +const { + v0: { + PlatformPromiseClient, + GetEpochsInfoRequest, + GetEpochsInfoResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); + +const getEpochsInfoFactory = require('../../../../../lib/methods/platform/getEpochsInfo/getEpochsInfoFactory'); +const EpochInfo = require('../../../../../lib/methods/platform/getEpochsInfo/EpochInfo'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); + +describe('getEpochsInfoFactory', () => { + let grpcTransportMock; + let getEpochsInfo; + let options; + let response; + let epochInfoFixture; + let metadataFixture; + let proofFixture; + let proofResponse; + + beforeEach(async function beforeEach() { + epochInfoFixture = new EpochInfo(1, 1, 1, Date.now(), 1.1); + + metadataFixture = getMetadataFixture(); + proofFixture = getProofFixture(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + const { GetEpochsInfoResponseV0 } = GetEpochsInfoResponse; + const { EpochInfo: EpochInfoProto, EpochInfos } = GetEpochsInfoResponseV0; + response = new GetEpochsInfoResponse(); + response.setV0( + new GetEpochsInfoResponseV0() + .setEpochs(new EpochInfos() + .setEpochInfosList([new EpochInfoProto() + .setNumber(epochInfoFixture.getNumber()) + .setFirstBlockHeight(epochInfoFixture.getFirstBlockHeight()) + .setFirstCoreBlockHeight(epochInfoFixture.getFirstCoreBlockHeight()) + .setStartTime(epochInfoFixture.getStartTime()) + .setFeeMultiplier(epochInfoFixture.getFeeMultiplier())])) + .setMetadata(metadata), + ); + + proofResponse = new ProofResponse(); + + proofResponse.setQuorumHash(proofFixture.quorumHash); + proofResponse.setSignature(proofFixture.signature); + proofResponse.setGrovedbProof(proofFixture.merkleProof); + proofResponse.setRound(proofFixture.round); + + grpcTransportMock = { + request: this.sinon.stub().resolves(response), + }; + + getEpochsInfo = getEpochsInfoFactory(grpcTransportMock); + + options = { + timeout: 1000, + }; + }); + + it('should return epochs info', async () => { + const result = await getEpochsInfo(1, 1, options); + + const { GetEpochsInfoRequestV0 } = GetEpochsInfoRequest; + const request = new GetEpochsInfoRequest(); + request.setV0( + new GetEpochsInfoRequestV0() + .setStartEpoch(new UInt32Value([1])) + .setCount(1) + .setAscending(!!options.ascending) + .setProve(!!options.prove), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getEpochsInfo', + request, + options, + ); + expect(result.getEpochsInfo()).to.deep.equal([epochInfoFixture]); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getProof()).to.equal(undefined); + }); + + it('should return proof', async () => { + options.prove = true; + options.ascending = true; + response.getV0().setEpochs(undefined); + response.getV0().setProof(proofResponse); + + const result = await getEpochsInfo(1, 1, options); + + const { GetEpochsInfoRequestV0 } = GetEpochsInfoRequest; + const request = new GetEpochsInfoRequest(); + request.setV0( + new GetEpochsInfoRequestV0() + .setStartEpoch(new UInt32Value([1])) + .setCount(1) + .setAscending(!!options.ascending) + .setProve(!!options.ascending), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getEpochsInfo', + request, + options, + ); + + expect(result.getEpochsInfo()).to.deep.equal([]); + + expect(result.getMetadata()).to.deep.equal(metadataFixture); + + expect(result.getProof()).to.be.an.instanceOf(Proof); + expect(result.getProof().getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(result.getProof().getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(result.getProof().getSignature()).to.deep.equal(proofFixture.signature); + expect(result.getProof().getRound()).to.deep.equal(proofFixture.round); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getMetadata().getHeight()).to.equal(metadataFixture.height); + expect(result.getMetadata().getCoreChainLockedHeight()).to.equal( + metadataFixture.coreChainLockedHeight, + ); + }); + + it('should throw unknown error', async () => { + const error = new Error('Unknown found'); + + grpcTransportMock.request.throws(error); + + const { GetEpochsInfoRequestV0 } = GetEpochsInfoRequest; + const request = new GetEpochsInfoRequest(); + request.setV0( + new GetEpochsInfoRequestV0() + .setStartEpoch(new UInt32Value([1])) + .setCount(1) + .setAscending(!!options.ascending) + .setProve(!!options.ascending), + ); + + try { + await getEpochsInfo(1, 1, options); + + expect.fail('should throw unknown error'); + } catch (e) { + expect(e).to.deep.equal(error); + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getEpochsInfo', + request, + options, + ); + } + }); +}); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.spec.js new file mode 100644 index 0000000000..db87e53ced --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse.spec.js @@ -0,0 +1,145 @@ +const { + v0: { + GetVersionUpgradeStateResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const GetVersionUpgradeStateResponseClass = require('../../../../../lib/methods/platform/getVersionUpgradeState/GetVersionUpgradeStateResponse'); +const VersionEntryClass = require('../../../../../lib/methods/platform/getVersionUpgradeState/VersionEntry'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); +const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); + +describe('GetVersionUpgradeStateResponse', () => { + let getVersionUpgradeState; + let metadataFixture; + let versionEntryFixture; + let proto; + let proofFixture; + + beforeEach(async () => { + metadataFixture = getMetadataFixture(); + versionEntryFixture = new VersionEntryClass(1, 1); + proofFixture = getProofFixture(); + + const { GetVersionUpgradeStateResponseV0 } = GetVersionUpgradeStateResponse; + const { Versions, VersionEntry } = GetVersionUpgradeStateResponseV0; + proto = new GetVersionUpgradeStateResponse(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + proto.setV0( + new GetVersionUpgradeStateResponseV0() + .setVersions(new Versions() + .setVersionsList([new VersionEntry() + .setVersionNumber(versionEntryFixture.getVersionNumber()) + .setVoteCount(versionEntryFixture.getVoteCount()), + ])) + .setMetadata(metadata), + ); + + getVersionUpgradeState = new GetVersionUpgradeStateResponseClass( + [versionEntryFixture], + new Metadata(metadataFixture), + ); + }); + + it('should return version upgrade state', () => { + const versions = getVersionUpgradeState.getVersionEntries(); + const proof = getVersionUpgradeState.getProof(); + + expect(versions).to.deep.equal([versionEntryFixture]); + expect(proof).to.equal(undefined); + }); + + it('should return proof', () => { + getVersionUpgradeState = new GetVersionUpgradeStateResponseClass( + [], + new Metadata(metadataFixture), + new Proof(proofFixture), + ); + + const versions = getVersionUpgradeState.getVersionEntries(); + const proof = getVersionUpgradeState.getProof(); + + expect(versions).to.deep.equal([]); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should create an instance from proto', () => { + getVersionUpgradeState = GetVersionUpgradeStateResponseClass + .createFromProto(proto); + expect(getVersionUpgradeState) + .to.be.an.instanceOf(GetVersionUpgradeStateResponseClass); + expect(getVersionUpgradeState.getVersionEntries()).to.deep.equal([versionEntryFixture]); + + expect(getVersionUpgradeState.getMetadata()) + .to.be.an.instanceOf(Metadata); + expect(getVersionUpgradeState.getMetadata().getHeight()) + .to.equal(metadataFixture.height); + expect(getVersionUpgradeState.getMetadata().getCoreChainLockedHeight()) + .to.equal(metadataFixture.coreChainLockedHeight); + + expect(getVersionUpgradeState.getProof()).to.equal(undefined); + }); + + it('should create an instance with proof from proto', () => { + const proofProto = new ProofResponse(); + + proofProto.setQuorumHash(proofFixture.quorumHash); + proofProto.setSignature(proofFixture.signature); + proofProto.setGrovedbProof(proofFixture.merkleProof); + proofProto.setRound(proofFixture.round); + + proto.getV0().setVersions(undefined); + proto.getV0().setProof(proofProto); + + getVersionUpgradeState = GetVersionUpgradeStateResponseClass.createFromProto(proto); + + expect(getVersionUpgradeState.getVersionEntries()).to.deep.equal([]); + expect(getVersionUpgradeState.getMetadata()).to.deep.equal(metadataFixture); + + const proof = getVersionUpgradeState.getProof(); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should throw InvalidResponseError if Metadata is not defined', () => { + proto.getV0().setMetadata(undefined); + + try { + getVersionUpgradeState = GetVersionUpgradeStateResponseClass.createFromProto(proto); + + expect.fail('should throw InvalidResponseError'); + } catch (e) { + expect(e).to.be.an.instanceOf(InvalidResponseError); + } + }); + + it('should throw InvalidResponseError if version entries are not defined', () => { + proto.getV0().setVersions(undefined); + + try { + getVersionUpgradeState = GetVersionUpgradeStateResponseClass.createFromProto(proto); + + expect.fail('should throw InvalidResponseError'); + } catch (e) { + expect(e).to.be.an.instanceOf(InvalidResponseError); + } + }); +}); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.spec.js new file mode 100644 index 0000000000..138265520c --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory.spec.js @@ -0,0 +1,158 @@ +const { + v0: { + PlatformPromiseClient, + GetVersionUpgradeStateRequest, + GetVersionUpgradeStateResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const getVersionUpgradeStateFactory = require('../../../../../lib/methods/platform/getVersionUpgradeState/getVersionUpgradeStateFactory'); +const VersionEntry = require('../../../../../lib/methods/platform/getVersionUpgradeState/VersionEntry'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); + +describe('getVersionUpgradeStateFactory', () => { + let grpcTransportMock; + let getVersionUpgradeState; + let options; + let response; + let versionEntryFixture; + let metadataFixture; + let proofFixture; + let proofResponse; + + beforeEach(async function beforeEach() { + versionEntryFixture = new VersionEntry(1, 1); + + metadataFixture = getMetadataFixture(); + proofFixture = getProofFixture(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + const { GetVersionUpgradeStateResponseV0 } = GetVersionUpgradeStateResponse; + const { + VersionEntry: VersionEntryProto, + Versions, + } = GetVersionUpgradeStateResponseV0; + response = new GetVersionUpgradeStateResponse(); + response.setV0( + new GetVersionUpgradeStateResponseV0() + .setVersions(new Versions() + .setVersionsList([new VersionEntryProto() + .setVersionNumber(versionEntryFixture.getVersionNumber()) + .setVoteCount(versionEntryFixture.getVoteCount())])) + .setMetadata(metadata), + ); + + proofResponse = new ProofResponse(); + + proofResponse.setQuorumHash(proofFixture.quorumHash); + proofResponse.setSignature(proofFixture.signature); + proofResponse.setGrovedbProof(proofFixture.merkleProof); + proofResponse.setRound(proofFixture.round); + + grpcTransportMock = { + request: this.sinon.stub().resolves(response), + }; + + getVersionUpgradeState = getVersionUpgradeStateFactory(grpcTransportMock); + + options = { + timeout: 1000, + }; + }); + + it('should return version upgrade state', async () => { + const result = await getVersionUpgradeState(options); + + const { GetVersionUpgradeStateRequestV0 } = GetVersionUpgradeStateRequest; + const request = new GetVersionUpgradeStateRequest(); + request.setV0( + new GetVersionUpgradeStateRequestV0() + .setProve(!!options.prove), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getVersionUpgradeState', + request, + options, + ); + + expect(result.getVersionEntries()).to.deep.equal([versionEntryFixture]); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getProof()).to.equal(undefined); + }); + + it('should return proof', async () => { + options.prove = true; + options.ascending = true; + response.getV0().setVersions(undefined); + response.getV0().setProof(proofResponse); + + const result = await getVersionUpgradeState(options); + + const { GetVersionUpgradeStateRequestV0 } = GetVersionUpgradeStateRequest; + const request = new GetVersionUpgradeStateRequest(); + request.setV0( + new GetVersionUpgradeStateRequestV0() + .setProve(!!options.ascending), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getVersionUpgradeState', + request, + options, + ); + + expect(result.getVersionEntries()).to.deep.equal([]); + + expect(result.getMetadata()).to.deep.equal(metadataFixture); + + expect(result.getProof()).to.be.an.instanceOf(Proof); + expect(result.getProof().getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(result.getProof().getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(result.getProof().getSignature()).to.deep.equal(proofFixture.signature); + expect(result.getProof().getRound()).to.deep.equal(proofFixture.round); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getMetadata().getHeight()).to.equal(metadataFixture.height); + expect(result.getMetadata().getCoreChainLockedHeight()).to.equal( + metadataFixture.coreChainLockedHeight, + ); + }); + + it('should throw unknown error', async () => { + const error = new Error('Unknown found'); + + grpcTransportMock.request.throws(error); + + const { GetVersionUpgradeStateRequestV0 } = GetVersionUpgradeStateRequest; + const request = new GetVersionUpgradeStateRequest(); + request.setV0( + new GetVersionUpgradeStateRequestV0() + .setProve(!!options.ascending), + ); + + try { + await getVersionUpgradeState(options); + + expect.fail('should throw unknown error'); + } catch (e) { + expect(e).to.deep.equal(error); + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getVersionUpgradeState', + request, + options, + ); + } + }); +}); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/GetVersionUpgradeVoteStatusResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/GetVersionUpgradeVoteStatusResponse.spec.js new file mode 100644 index 0000000000..ca2a602ae6 --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/GetVersionUpgradeVoteStatusResponse.spec.js @@ -0,0 +1,145 @@ +const { + v0: { + GetVersionUpgradeVoteStatusResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const GetVersionUpgradeVoteStatusResponseClass = require('../../../../../lib/methods/platform/getVersionUpgradeVoteStatus/GetVersionUpgradeVoteStatusResponse'); +const VersionSignalClass = require('../../../../../lib/methods/platform/getVersionUpgradeVoteStatus/VersionSignal'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); +const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); + +describe('GetVersionUpgradeVoteStatusResponse', () => { + let getVersionUpgradeVoteStatus; + let metadataFixture; + let versionSignalFixture; + let proto; + let proofFixture; + + beforeEach(async () => { + metadataFixture = getMetadataFixture(); + versionSignalFixture = new VersionSignalClass(Buffer.alloc(32).toString('hex'), 1); + proofFixture = getProofFixture(); + + const { GetVersionUpgradeVoteStatusResponseV0 } = GetVersionUpgradeVoteStatusResponse; + const { VersionSignal, VersionSignals } = GetVersionUpgradeVoteStatusResponseV0; + proto = new GetVersionUpgradeVoteStatusResponse(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + proto.setV0( + new GetVersionUpgradeVoteStatusResponseV0() + .setVersions(new VersionSignals() + .setVersionSignalsList([new VersionSignal() + .setProTxHash(Buffer.from(versionSignalFixture.getProTxHash(), 'hex')) + .setVersion(versionSignalFixture.getVersion()), + ])) + .setMetadata(metadata), + ); + + getVersionUpgradeVoteStatus = new GetVersionUpgradeVoteStatusResponseClass( + [versionSignalFixture], + new Metadata(metadataFixture), + ); + }); + + it('should return vote statuses', () => { + const versionSignals = getVersionUpgradeVoteStatus.getVersionSignals(); + const proof = getVersionUpgradeVoteStatus.getProof(); + + expect(versionSignals).to.deep.equal([versionSignalFixture]); + expect(proof).to.equal(undefined); + }); + + it('should return proof', () => { + getVersionUpgradeVoteStatus = new GetVersionUpgradeVoteStatusResponseClass( + [], + new Metadata(metadataFixture), + new Proof(proofFixture), + ); + + const versionSignals = getVersionUpgradeVoteStatus.getVersionSignals(); + const proof = getVersionUpgradeVoteStatus.getProof(); + + expect(versionSignals).to.deep.equal([]); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should create an instance from proto', () => { + getVersionUpgradeVoteStatus = GetVersionUpgradeVoteStatusResponseClass + .createFromProto(proto); + expect(getVersionUpgradeVoteStatus) + .to.be.an.instanceOf(GetVersionUpgradeVoteStatusResponseClass); + expect(getVersionUpgradeVoteStatus.getVersionSignals()).to.deep.equal([versionSignalFixture]); + + expect(getVersionUpgradeVoteStatus.getMetadata()) + .to.be.an.instanceOf(Metadata); + expect(getVersionUpgradeVoteStatus.getMetadata().getHeight()) + .to.equal(metadataFixture.height); + expect(getVersionUpgradeVoteStatus.getMetadata().getCoreChainLockedHeight()) + .to.equal(metadataFixture.coreChainLockedHeight); + + expect(getVersionUpgradeVoteStatus.getProof()).to.equal(undefined); + }); + + it('should create an instance with proof from proto', () => { + const proofProto = new ProofResponse(); + + proofProto.setQuorumHash(proofFixture.quorumHash); + proofProto.setSignature(proofFixture.signature); + proofProto.setGrovedbProof(proofFixture.merkleProof); + proofProto.setRound(proofFixture.round); + + proto.getV0().setVersions(undefined); + proto.getV0().setProof(proofProto); + + getVersionUpgradeVoteStatus = GetVersionUpgradeVoteStatusResponseClass.createFromProto(proto); + + expect(getVersionUpgradeVoteStatus.getVersionSignals()).to.deep.equal([]); + expect(getVersionUpgradeVoteStatus.getMetadata()).to.deep.equal(metadataFixture); + + const proof = getVersionUpgradeVoteStatus.getProof(); + expect(proof).to.be.an.instanceOf(Proof); + expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getRound()).to.deep.equal(proofFixture.round); + }); + + it('should throw InvalidResponseError if Metadata is not defined', () => { + proto.getV0().setMetadata(undefined); + + try { + getVersionUpgradeVoteStatus = GetVersionUpgradeVoteStatusResponseClass.createFromProto(proto); + + expect.fail('should throw InvalidResponseError'); + } catch (e) { + expect(e).to.be.an.instanceOf(InvalidResponseError); + } + }); + + it('should throw InvalidResponseError if version statuses are not defined', () => { + proto.getV0().setVersions(undefined); + + try { + getVersionUpgradeVoteStatus = GetVersionUpgradeVoteStatusResponseClass.createFromProto(proto); + + expect.fail('should throw InvalidResponseError'); + } catch (e) { + expect(e).to.be.an.instanceOf(InvalidResponseError); + } + }); +}); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/getVersionUpgradeVoteStatusFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/getVersionUpgradeVoteStatusFactory.spec.js new file mode 100644 index 0000000000..7925ac1f59 --- /dev/null +++ b/packages/js-dapi-client/test/unit/methods/platform/getVersionUpgradeVoteStatusFactory/getVersionUpgradeVoteStatusFactory.spec.js @@ -0,0 +1,166 @@ +const { + v0: { + PlatformPromiseClient, + GetVersionUpgradeVoteStatusRequest, + GetVersionUpgradeVoteStatusResponse, + ResponseMetadata, + Proof: ProofResponse, + }, +} = require('@dashevo/dapi-grpc'); + +const getVersionUpgradeVoteStatusFactory = require('../../../../../lib/methods/platform/getVersionUpgradeVoteStatus/getVersionUpgradeVoteStatusFactory'); +const VersionSignal = require('../../../../../lib/methods/platform/getVersionUpgradeVoteStatus/VersionSignal'); +const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); +const Proof = require('../../../../../lib/methods/platform/response/Proof'); + +describe('getVersionUpgradeVoteStatusFactory', () => { + let grpcTransportMock; + let getVersionUpgradeVoteStatus; + let options; + let response; + let versionSignalFixture; + let metadataFixture; + let proofFixture; + let proofResponse; + let startProTxHash; + + beforeEach(async function beforeEach() { + startProTxHash = Buffer.alloc(32).fill('a').toString('hex'); + versionSignalFixture = new VersionSignal(Buffer.alloc(32).toString('hex'), 1); + + metadataFixture = getMetadataFixture(); + proofFixture = getProofFixture(); + + const metadata = new ResponseMetadata(); + metadata.setHeight(metadataFixture.height); + metadata.setCoreChainLockedHeight(metadataFixture.coreChainLockedHeight); + metadata.setTimeMs(metadataFixture.timeMs); + metadata.setProtocolVersion(metadataFixture.protocolVersion); + + const { GetVersionUpgradeVoteStatusResponseV0 } = GetVersionUpgradeVoteStatusResponse; + const { + VersionSignal: VersionSignalProto, + VersionSignals, + } = GetVersionUpgradeVoteStatusResponseV0; + response = new GetVersionUpgradeVoteStatusResponse(); + response.setV0( + new GetVersionUpgradeVoteStatusResponseV0() + .setVersions(new VersionSignals() + .setVersionSignalsList([new VersionSignalProto() + .setProTxHash(Buffer.from(versionSignalFixture.getProTxHash(), 'hex')) + .setVersion(versionSignalFixture.getVersion())])) + .setMetadata(metadata), + ); + + proofResponse = new ProofResponse(); + + proofResponse.setQuorumHash(proofFixture.quorumHash); + proofResponse.setSignature(proofFixture.signature); + proofResponse.setGrovedbProof(proofFixture.merkleProof); + proofResponse.setRound(proofFixture.round); + + grpcTransportMock = { + request: this.sinon.stub().resolves(response), + }; + + getVersionUpgradeVoteStatus = getVersionUpgradeVoteStatusFactory(grpcTransportMock); + + options = { + timeout: 1000, + }; + }); + + it('should return vote statuses', async () => { + const result = await getVersionUpgradeVoteStatus(startProTxHash, 1, options); + + const { GetVersionUpgradeVoteStatusRequestV0 } = GetVersionUpgradeVoteStatusRequest; + const request = new GetVersionUpgradeVoteStatusRequest(); + request.setV0( + new GetVersionUpgradeVoteStatusRequestV0() + .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setCount(1) + .setProve(!!options.prove), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getVersionUpgradeVoteStatus', + request, + options, + ); + + expect(result.getVersionSignals()).to.deep.equal([versionSignalFixture]); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getProof()).to.equal(undefined); + }); + + it('should return proof', async () => { + options.prove = true; + options.ascending = true; + response.getV0().setVersions(undefined); + response.getV0().setProof(proofResponse); + + const result = await getVersionUpgradeVoteStatus(startProTxHash, 1, options); + + const { GetVersionUpgradeVoteStatusRequestV0 } = GetVersionUpgradeVoteStatusRequest; + const request = new GetVersionUpgradeVoteStatusRequest(); + request.setV0( + new GetVersionUpgradeVoteStatusRequestV0() + .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setCount(1) + .setProve(!!options.ascending), + ); + + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getVersionUpgradeVoteStatus', + request, + options, + ); + + expect(result.getVersionSignals()).to.deep.equal([]); + + expect(result.getMetadata()).to.deep.equal(metadataFixture); + + expect(result.getProof()).to.be.an.instanceOf(Proof); + expect(result.getProof().getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); + expect(result.getProof().getQuorumHash()).to.deep.equal(proofFixture.quorumHash); + expect(result.getProof().getSignature()).to.deep.equal(proofFixture.signature); + expect(result.getProof().getRound()).to.deep.equal(proofFixture.round); + expect(result.getMetadata()).to.deep.equal(metadataFixture); + expect(result.getMetadata().getHeight()).to.equal(metadataFixture.height); + expect(result.getMetadata().getCoreChainLockedHeight()).to.equal( + metadataFixture.coreChainLockedHeight, + ); + }); + + it('should throw unknown error', async () => { + const error = new Error('Unknown found'); + + grpcTransportMock.request.throws(error); + + const { GetVersionUpgradeVoteStatusRequestV0 } = GetVersionUpgradeVoteStatusRequest; + const request = new GetVersionUpgradeVoteStatusRequest(); + request.setV0( + new GetVersionUpgradeVoteStatusRequestV0() + .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setCount(1) + .setProve(!!options.ascending), + ); + + try { + await getVersionUpgradeVoteStatus(startProTxHash, 1, options); + + expect.fail('should throw unknown error'); + } catch (e) { + expect(e).to.deep.equal(error); + expect(grpcTransportMock.request).to.be.calledOnceWithExactly( + PlatformPromiseClient, + 'getVersionUpgradeVoteStatus', + request, + options, + ); + } + }); +}); diff --git a/packages/rs-dpp/Cargo.toml b/packages/rs-dpp/Cargo.toml index e0e9e32b5c..bd68bbb6e1 100644 --- a/packages/rs-dpp/Cargo.toml +++ b/packages/rs-dpp/Cargo.toml @@ -35,7 +35,7 @@ enum-map = { version = "2.5.0" } futures = { version = "0.3" } getrandom = { version = "0.2", features = ["js"] } hex = { version = "0.4" } -integer-encoding = { version = "3.0.4" } +integer-encoding = { version = "4.0.0" } itertools = { version = "0.10" } json-patch = "0.2.6" jsonptr = "0.1.5" diff --git a/packages/rs-dpp/src/block/extended_epoch_info/mod.rs b/packages/rs-dpp/src/block/extended_epoch_info/mod.rs new file mode 100644 index 0000000000..e414591f0c --- /dev/null +++ b/packages/rs-dpp/src/block/extended_epoch_info/mod.rs @@ -0,0 +1,60 @@ +pub mod v0; + +use crate::block::epoch::EpochIndex; +use crate::block::extended_epoch_info::v0::{ExtendedEpochInfoV0, ExtendedEpochInfoV0Getters}; +use crate::protocol_error::ProtocolError; +use bincode::{Decode, Encode}; +use derive_more::From; +use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; +use platform_version::version::PlatformVersion; +use serde::{Deserialize, Serialize}; + +/// Extended Block information +#[derive( + Clone, + Debug, + PartialEq, + Serialize, + Deserialize, + Encode, + Decode, + PlatformSerialize, + PlatformDeserialize, + From, +)] +#[platform_serialize(unversioned)] //versioned directly, no need to use platform_version +pub enum ExtendedEpochInfo { + V0(ExtendedEpochInfoV0), +} + +impl ExtendedEpochInfoV0Getters for ExtendedEpochInfo { + fn index(&self) -> EpochIndex { + match self { + ExtendedEpochInfo::V0(v0) => v0.index, + } + } + + fn first_block_time(&self) -> u64 { + match self { + ExtendedEpochInfo::V0(v0) => v0.first_block_time, + } + } + + fn first_block_height(&self) -> u64 { + match self { + ExtendedEpochInfo::V0(v0) => v0.first_block_height, + } + } + + fn first_core_block_height(&self) -> u32 { + match self { + ExtendedEpochInfo::V0(v0) => v0.first_core_block_height, + } + } + + fn fee_multiplier(&self) -> f64 { + match self { + ExtendedEpochInfo::V0(v0) => v0.fee_multiplier, + } + } +} diff --git a/packages/rs-dpp/src/block/extended_epoch_info/v0/mod.rs b/packages/rs-dpp/src/block/extended_epoch_info/v0/mod.rs new file mode 100644 index 0000000000..e99b8e1132 --- /dev/null +++ b/packages/rs-dpp/src/block/extended_epoch_info/v0/mod.rs @@ -0,0 +1,36 @@ +use crate::block::epoch::EpochIndex; +use bincode::{Decode, Encode}; +use serde::{Deserialize, Serialize}; + +/// Extended Epoch information +#[derive(Clone, Debug, PartialEq, Encode, Decode, Serialize, Deserialize)] +pub struct ExtendedEpochInfoV0 { + /// The index of the epoch + pub index: EpochIndex, + /// First block time + pub first_block_time: u64, + /// First block height + pub first_block_height: u64, + /// First core block height + pub first_core_block_height: u32, + /// Fee multiplier + pub fee_multiplier: f64, +} + +/// Trait defining getters for `ExtendedEpochInfoV0`. +pub trait ExtendedEpochInfoV0Getters { + /// Returns the epoch index. + fn index(&self) -> EpochIndex; + + /// Returns the first block time. + fn first_block_time(&self) -> u64; + + /// Returns the first platform block height. + fn first_block_height(&self) -> u64; + + /// Returns the first core block height. + fn first_core_block_height(&self) -> u32; + + /// Returns the fee multiplier. + fn fee_multiplier(&self) -> f64; +} diff --git a/packages/rs-dpp/src/block/mod.rs b/packages/rs-dpp/src/block/mod.rs index 32e10b007a..e07b2d2e31 100644 --- a/packages/rs-dpp/src/block/mod.rs +++ b/packages/rs-dpp/src/block/mod.rs @@ -1,3 +1,4 @@ pub mod block_info; pub mod epoch; pub mod extended_block_info; +pub mod extended_epoch_info; diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index 0d7e4a7e87..fc5d94d8a2 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -102,6 +102,7 @@ drive = { path = "../rs-drive" } # For tests of grovedb verify rocksdb = { version = "0.21.0" } +integer-encoding = { version = "4.0.0" } [features] default = ["server", "mocks"] diff --git a/packages/rs-drive-abci/src/execution/types/mod.rs b/packages/rs-drive-abci/src/execution/types/mod.rs index 8e5e65582f..1a50965d3d 100644 --- a/packages/rs-drive-abci/src/execution/types/mod.rs +++ b/packages/rs-drive-abci/src/execution/types/mod.rs @@ -1,7 +1,7 @@ /// The block execution context pub mod block_execution_context; /// A structure representing block fees -pub(in crate::execution) mod block_fees; +pub(crate) mod block_fees; /// Block state info pub mod block_state_info; /// An execution event diff --git a/packages/rs-drive-abci/src/query/mod.rs b/packages/rs-drive-abci/src/query/mod.rs index 4e678b3fcd..509a1815c1 100644 --- a/packages/rs-drive-abci/src/query/mod.rs +++ b/packages/rs-drive-abci/src/query/mod.rs @@ -3,6 +3,7 @@ mod document_query; mod identity_based_queries; mod proofs; mod response_metadata; +mod system; mod v0; use crate::error::query::QueryError; @@ -38,7 +39,7 @@ impl Platform { #[cfg(test)] mod tests { #[macro_export] - macro_rules! extract_variant_or_panic { + macro_rules! extract_single_variant_or_panic { ($expression:expr, $pattern:pat, $binding:ident) => { match $expression { $pattern => $binding, @@ -50,6 +51,19 @@ mod tests { }; } + #[macro_export] + macro_rules! extract_variant_or_panic { + ($expression:expr, $pattern:pat, $binding:ident) => { + match $expression { + $pattern => $binding, + _ => panic!( + "Expected pattern {} but got another variant", + stringify!($pattern) + ), + } + }; + } + use crate::config::PlatformConfig; use crate::error::query::QueryError; use crate::platform_types::platform::Platform; @@ -239,7 +253,7 @@ mod tests { GetIdentityResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); assert!(matches!( - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_identity_response::Version::V0(inner), inner @@ -304,7 +318,7 @@ mod tests { let response = GetIdentitiesResponse::decode(data.as_slice()).unwrap(); let get_identities_response::get_identities_response_v0::Result::Identities(identities) = - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_identities_response::Version::V0(inner), inner @@ -340,7 +354,7 @@ mod tests { GetIdentitiesResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); assert!(matches!( - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_identities_response::Version::V0(inner), inner @@ -430,7 +444,7 @@ mod tests { .unwrap(); assert!(matches!( - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_identity_balance_response::Version::V0(inner), inner @@ -523,7 +537,7 @@ mod tests { .unwrap(); assert!(matches!( - extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identity_balance_and_revision_response::Version::V0(inner), inner).result.unwrap(), + extract_single_variant_or_panic!(response.version.expect("expected a versioned response"), get_identity_balance_and_revision_response::Version::V0(inner), inner).result.unwrap(), get_identity_balance_and_revision_response::get_identity_balance_and_revision_response_v0::Result::Proof(_) )); } @@ -760,7 +774,7 @@ mod tests { let response = GetIdentityKeysResponse::decode(data.as_slice()).unwrap(); let get_identity_keys_response::get_identity_keys_response_v0::Result::Keys(keys) = - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_identity_keys_response::Version::V0(inner), inner @@ -799,7 +813,7 @@ mod tests { .unwrap(); assert!(matches!( - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_identity_keys_response::Version::V0(inner), inner @@ -888,7 +902,7 @@ mod tests { .unwrap(); assert!(matches!( - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_data_contract_response::Version::V0(inner), inner @@ -950,7 +964,7 @@ mod tests { let get_data_contracts_response::get_data_contracts_response_v0::Result::DataContracts( contracts, - ) = extract_variant_or_panic!( + ) = extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_data_contracts_response::Version::V0(inner), inner @@ -985,7 +999,7 @@ mod tests { .unwrap(); assert!(matches!( - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_data_contracts_response::Version::V0(inner), inner @@ -1141,7 +1155,7 @@ mod tests { .unwrap(); assert!(matches!( - extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_data_contract_history_response::Version::V0(inner), inner).result.unwrap(), + extract_single_variant_or_panic!(response.version.expect("expected a versioned response"), get_data_contract_history_response::Version::V0(inner), inner).result.unwrap(), get_data_contract_history_response::get_data_contract_history_response_v0::Result::Proof(_) )); } @@ -1446,7 +1460,7 @@ mod tests { ) .expect("response decoded"); - let Some(result) = extract_variant_or_panic!( + let Some(result) = extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_documents_response::Version::V0(inner), inner @@ -1498,7 +1512,7 @@ mod tests { .expect("response decoded"); assert!(matches!( - extract_variant_or_panic!( + extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_documents_response::Version::V0(inner), inner @@ -1592,7 +1606,7 @@ mod tests { .expect("response decoded"); assert!(matches!( - extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identity_by_public_key_hash_response::Version::V0(inner), inner).result.unwrap(), + extract_single_variant_or_panic!(response.version.expect("expected a versioned response"), get_identity_by_public_key_hash_response::Version::V0(inner), inner).result.unwrap(), get_identity_by_public_key_hash_response::get_identity_by_public_key_hash_response_v0::Result::Proof(_) )); } @@ -1655,7 +1669,7 @@ mod tests { .expect("response decoded"); let get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Identities(identities) = - extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identities_by_public_key_hashes_response::Version::V0(inner), inner).result.expect("expected a versioned result") + extract_single_variant_or_panic!(response.version.expect("expected a versioned response"), get_identities_by_public_key_hashes_response::Version::V0(inner), inner).result.expect("expected a versioned result") else { panic!("invalid response") }; @@ -1685,7 +1699,7 @@ mod tests { .expect("response decoded"); assert!(matches!( - extract_variant_or_panic!(response.version.expect("expected a versioned response"), get_identities_by_public_key_hashes_response::Version::V0(inner), inner).result.unwrap(), + extract_single_variant_or_panic!(response.version.expect("expected a versioned response"), get_identities_by_public_key_hashes_response::Version::V0(inner), inner).result.unwrap(), get_identities_by_public_key_hashes_response::get_identities_by_public_key_hashes_response_v0::Result::Proof(_) )); } @@ -1844,7 +1858,7 @@ mod tests { let response = GetProofsResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); - let proof = extract_variant_or_panic!( + let proof = extract_single_variant_or_panic!( response.version.expect("expected a versioned response"), get_proofs_response::Version::V0(inner), inner @@ -1854,4 +1868,839 @@ mod tests { assert!(proof.is_some()) } } + + mod version_upgrade_state { + use dapi_grpc::platform::v0::get_version_upgrade_state_request::{ + GetVersionUpgradeStateRequestV0, Version, + }; + use dapi_grpc::platform::v0::get_version_upgrade_state_response::get_version_upgrade_state_response_v0; + use dapi_grpc::platform::v0::{ + get_version_upgrade_state_response, GetVersionUpgradeStateRequest, + GetVersionUpgradeStateResponse, + }; + use drive::drive::grove_operations::BatchInsertApplyType; + use drive::drive::object_size_info::PathKeyElementInfo; + use drive::drive::protocol_upgrade::{ + desired_version_for_validators_path, versions_counter_path, versions_counter_path_vec, + }; + use drive::drive::Drive; + use drive::grovedb::{Element, PathQuery, Query, QueryItem}; + use drive::query::GroveDb; + use integer_encoding::VarInt; + use prost::Message; + use rand::rngs::StdRng; + use rand::{Rng, SeedableRng}; + use std::ops::RangeFull; + + const PATH: &str = "/versionUpgrade/state"; + + #[test] + fn test_query_empty_upgrade_state() { + let (platform, version) = super::setup_platform(); + + let request = GetVersionUpgradeStateRequest { + version: Some(Version::V0(GetVersionUpgradeStateRequestV0 { + prove: false, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = + GetVersionUpgradeStateResponse::decode(validation_result.data.unwrap().as_slice()) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_state_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let versions = extract_variant_or_panic!( + result, + get_version_upgrade_state_response_v0::Result::Versions(inner), + inner + ); + + // we just started chain, there should be no versions + + assert!(versions.versions.is_empty()) + } + + #[test] + fn test_query_upgrade_state() { + let (platform, version) = super::setup_platform(); + + let mut rand = StdRng::seed_from_u64(10); + + let drive = &platform.drive; + + let mut cache = drive.cache.write().unwrap(); + let version_counter = &mut cache.protocol_versions_counter; + + let transaction = drive.grove.start_transaction(); + + version_counter + .load_if_needed(drive, Some(&transaction), &version.drive) + .expect("expected to load version counter"); + + let path = desired_version_for_validators_path(); + let version_bytes = version.protocol_version.encode_var_vec(); + let version_element = Element::new_item(version_bytes.clone()); + + let validator_pro_tx_hash: [u8; 32] = rand.gen(); + + let mut operations = vec![]; + drive + .batch_insert_if_changed_value( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + path, + validator_pro_tx_hash.as_slice(), + version_element, + )), + BatchInsertApplyType::StatefulBatchInsert, + Some(&transaction), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + let mut version_count = version_counter + .get(&version.protocol_version) + .cloned() + .unwrap_or_default(); + + version_count += 1; + + version_counter.set_block_cache_version_count(version.protocol_version, version_count); // push to block_cache + + drive + .batch_insert( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + versions_counter_path(), + version_bytes.as_slice(), + Element::new_item(version_count.encode_var_vec()), + )), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + drive + .apply_batch_low_level_drive_operations( + None, + Some(&transaction), + operations, + &mut vec![], + &version.drive, + ) + .expect("expected to apply operations"); + + drive + .commit_transaction(transaction, &version.drive) + .expect("expected to commit"); + + cache.protocol_versions_counter.merge_block_cache(); + + drop(cache); + + let request = GetVersionUpgradeStateRequest { + version: Some(Version::V0(GetVersionUpgradeStateRequestV0 { + prove: false, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = + GetVersionUpgradeStateResponse::decode(validation_result.data.unwrap().as_slice()) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_state_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let versions = extract_variant_or_panic!( + result, + get_version_upgrade_state_response_v0::Result::Versions(inner), + inner + ); + + assert_eq!(versions.versions.len(), 1) + } + + #[test] + fn test_prove_empty_upgrade_state() { + let (platform, version) = super::setup_platform(); + + let request = GetVersionUpgradeStateRequest { + version: Some(Version::V0(GetVersionUpgradeStateRequestV0 { prove: true })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = + GetVersionUpgradeStateResponse::decode(validation_result.data.unwrap().as_slice()) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_state_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let proof = extract_variant_or_panic!( + result, + get_version_upgrade_state_response_v0::Result::Proof(inner), + inner + ); + + let path_query = PathQuery::new_unsized( + versions_counter_path_vec(), + Query::new_single_query_item(QueryItem::RangeFull(RangeFull)), + ); + + let elements = GroveDb::verify_query(proof.grovedb_proof.as_slice(), &path_query) + .expect("expected to be able to verify query") + .1; + + // we just started chain, there should be no versions + + assert!(elements.is_empty()) + } + + #[test] + fn test_prove_upgrade_state() { + let (platform, version) = super::setup_platform(); + + let mut rand = StdRng::seed_from_u64(10); + + let drive = &platform.drive; + + let mut cache = drive.cache.write().unwrap(); + let version_counter = &mut cache.protocol_versions_counter; + + let transaction = drive.grove.start_transaction(); + + version_counter + .load_if_needed(drive, Some(&transaction), &version.drive) + .expect("expected to load version counter"); + + let path = desired_version_for_validators_path(); + let version_bytes = version.protocol_version.encode_var_vec(); + let version_element = Element::new_item(version_bytes.clone()); + + let validator_pro_tx_hash: [u8; 32] = rand.gen(); + + let mut operations = vec![]; + drive + .batch_insert_if_changed_value( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + path, + validator_pro_tx_hash.as_slice(), + version_element, + )), + BatchInsertApplyType::StatefulBatchInsert, + Some(&transaction), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + let mut version_count = version_counter + .get(&version.protocol_version) + .cloned() + .unwrap_or_default(); + + version_count += 1; + + version_counter.set_block_cache_version_count(version.protocol_version, version_count); // push to block_cache + + drive + .batch_insert( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + versions_counter_path(), + version_bytes.as_slice(), + Element::new_item(version_count.encode_var_vec()), + )), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + drive + .apply_batch_low_level_drive_operations( + None, + Some(&transaction), + operations, + &mut vec![], + &version.drive, + ) + .expect("expected to apply operations"); + + drive + .commit_transaction(transaction, &version.drive) + .expect("expected to commit"); + + cache.protocol_versions_counter.merge_block_cache(); + + drop(cache); + + let request = GetVersionUpgradeStateRequest { + version: Some(Version::V0(GetVersionUpgradeStateRequestV0 { prove: true })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = + GetVersionUpgradeStateResponse::decode(validation_result.data.unwrap().as_slice()) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_state_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let proof = extract_variant_or_panic!( + result, + get_version_upgrade_state_response_v0::Result::Proof(inner), + inner + ); + + let path_query = PathQuery::new_unsized( + versions_counter_path_vec(), + Query::new_single_query_item(QueryItem::RangeFull(RangeFull)), + ); + + let elements = GroveDb::verify_query(proof.grovedb_proof.as_slice(), &path_query) + .expect("expected to be able to verify query") + .1; + + // we just started chain, there should be no versions + + assert_eq!(elements.len(), 1); + + let (_, _, element) = elements.first().unwrap(); + + assert!(element.is_some()); + + let element = element.clone().unwrap(); + + let count_bytes = element.as_item_bytes().expect("expected item bytes"); + + let count = u16::decode_var(count_bytes) + .expect("expected to decode var int") + .0; + + assert_eq!(count, 1); + + let upgrade = Drive::verify_upgrade_state(proof.grovedb_proof.as_slice(), version) + .expect("expected to verify the upgrade counts") + .1; + + assert_eq!(upgrade.len(), 1); + assert_eq!(upgrade.get(&1), Some(1).as_ref()); + } + } + + mod version_upgrade_vote_status { + use dapi_grpc::platform::v0::get_version_upgrade_vote_status_request::Version; + + use dapi_grpc::platform::v0::get_version_upgrade_vote_status_request::GetVersionUpgradeVoteStatusRequestV0; + use dapi_grpc::platform::v0::get_version_upgrade_vote_status_response::get_version_upgrade_vote_status_response_v0; + use dapi_grpc::platform::v0::{ + get_version_upgrade_vote_status_response, GetVersionUpgradeVoteStatusRequest, + GetVersionUpgradeVoteStatusResponse, + }; + use drive::drive::grove_operations::BatchInsertApplyType; + use drive::drive::object_size_info::PathKeyElementInfo; + use drive::drive::protocol_upgrade::{ + desired_version_for_validators_path, desired_version_for_validators_path_vec, + versions_counter_path, + }; + use drive::drive::Drive; + use drive::grovedb::{Element, PathQuery, Query, QueryItem, SizedQuery}; + use drive::query::GroveDb; + use integer_encoding::VarInt; + use prost::Message; + use rand::rngs::StdRng; + use rand::{Rng, SeedableRng}; + + const PATH: &str = "/versionUpgrade/voteStatus"; + + #[test] + fn test_query_empty_upgrade_vote_status() { + let (platform, version) = super::setup_platform(); + + let mut rand = StdRng::seed_from_u64(10); + + let validator_pro_tx_hash: [u8; 32] = rand.gen(); + + let request = GetVersionUpgradeVoteStatusRequest { + version: Some(Version::V0(GetVersionUpgradeVoteStatusRequestV0 { + start_pro_tx_hash: validator_pro_tx_hash.to_vec(), + count: 5, + prove: false, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = GetVersionUpgradeVoteStatusResponse::decode( + validation_result.data.unwrap().as_slice(), + ) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_vote_status_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let version_signals = extract_variant_or_panic!( + result, + get_version_upgrade_vote_status_response::get_version_upgrade_vote_status_response_v0::Result::Versions(inner), + inner + ); + + // we just started chain, there should be no versions + + assert!(version_signals.version_signals.is_empty()) + } + + #[test] + fn test_query_upgrade_vote_status() { + let (platform, version) = super::setup_platform(); + + let mut rand = StdRng::seed_from_u64(10); + + let validator_pro_tx_hash: [u8; 32] = rand.gen(); + + let drive = &platform.drive; + + let mut cache = drive.cache.write().unwrap(); + let version_counter = &mut cache.protocol_versions_counter; + + let transaction = drive.grove.start_transaction(); + + version_counter + .load_if_needed(drive, Some(&transaction), &version.drive) + .expect("expected to load version counter"); + + let path = desired_version_for_validators_path(); + let version_bytes = version.protocol_version.encode_var_vec(); + let version_element = Element::new_item(version_bytes.clone()); + + let mut operations = vec![]; + drive + .batch_insert_if_changed_value( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + path, + validator_pro_tx_hash.as_slice(), + version_element, + )), + BatchInsertApplyType::StatefulBatchInsert, + Some(&transaction), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + let mut version_count = version_counter + .get(&version.protocol_version) + .cloned() + .unwrap_or_default(); + + version_count += 1; + + version_counter.set_block_cache_version_count(version.protocol_version, version_count); // push to block_cache + + drive + .batch_insert( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + versions_counter_path(), + version_bytes.as_slice(), + Element::new_item(version_count.encode_var_vec()), + )), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + drive + .apply_batch_low_level_drive_operations( + None, + Some(&transaction), + operations, + &mut vec![], + &version.drive, + ) + .expect("expected to apply operations"); + + drive + .commit_transaction(transaction, &version.drive) + .expect("expected to commit"); + + cache.protocol_versions_counter.merge_block_cache(); + + drop(cache); + + let request = GetVersionUpgradeVoteStatusRequest { + version: Some(Version::V0(GetVersionUpgradeVoteStatusRequestV0 { + start_pro_tx_hash: validator_pro_tx_hash.to_vec(), + count: 5, + prove: false, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = GetVersionUpgradeVoteStatusResponse::decode( + validation_result.data.unwrap().as_slice(), + ) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_vote_status_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let version_signals = extract_variant_or_panic!( + result, + get_version_upgrade_vote_status_response::get_version_upgrade_vote_status_response_v0::Result::Versions(inner), + inner + ); + + assert_eq!(version_signals.version_signals.len(), 1) + } + + #[test] + fn test_prove_empty_upgrade_vote_status() { + let (platform, version) = super::setup_platform(); + + let mut rand = StdRng::seed_from_u64(10); + + let validator_pro_tx_hash: [u8; 32] = rand.gen(); + + let request = GetVersionUpgradeVoteStatusRequest { + version: Some(Version::V0(GetVersionUpgradeVoteStatusRequestV0 { + start_pro_tx_hash: validator_pro_tx_hash.to_vec(), + count: 5, + prove: true, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = GetVersionUpgradeVoteStatusResponse::decode( + validation_result.data.unwrap().as_slice(), + ) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_vote_status_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let proof = extract_variant_or_panic!( + result, + get_version_upgrade_vote_status_response_v0::Result::Proof(inner), + inner + ); + + let path = desired_version_for_validators_path_vec(); + + let query_item = QueryItem::RangeFrom(validator_pro_tx_hash.to_vec()..); + + let path_query = PathQuery::new( + path, + SizedQuery::new(Query::new_single_query_item(query_item), Some(5), None), + ); + + let elements = GroveDb::verify_query(proof.grovedb_proof.as_slice(), &path_query) + .expect("expected to be able to verify query") + .1; + + // we just started chain, there should be no versions + + assert!(elements.is_empty()) + } + + #[test] + fn test_prove_upgrade_vote_status() { + let (platform, version) = super::setup_platform(); + + let mut rand = StdRng::seed_from_u64(10); + + let drive = &platform.drive; + + let mut cache = drive.cache.write().unwrap(); + let version_counter = &mut cache.protocol_versions_counter; + + let transaction = drive.grove.start_transaction(); + + version_counter + .load_if_needed(drive, Some(&transaction), &version.drive) + .expect("expected to load version counter"); + + let path = desired_version_for_validators_path(); + let version_bytes = version.protocol_version.encode_var_vec(); + let version_element = Element::new_item(version_bytes.clone()); + + let validator_pro_tx_hash: [u8; 32] = rand.gen(); + + let mut operations = vec![]; + drive + .batch_insert_if_changed_value( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + path, + validator_pro_tx_hash.as_slice(), + version_element, + )), + BatchInsertApplyType::StatefulBatchInsert, + Some(&transaction), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + let mut version_count = version_counter + .get(&version.protocol_version) + .cloned() + .unwrap_or_default(); + + version_count += 1; + + version_counter.set_block_cache_version_count(version.protocol_version, version_count); // push to block_cache + + drive + .batch_insert( + PathKeyElementInfo::PathFixedSizeKeyRefElement(( + versions_counter_path(), + version_bytes.as_slice(), + Element::new_item(version_count.encode_var_vec()), + )), + &mut operations, + &version.drive, + ) + .expect("expected batch to insert"); + + drive + .apply_batch_low_level_drive_operations( + None, + Some(&transaction), + operations, + &mut vec![], + &version.drive, + ) + .expect("expected to apply operations"); + + drive + .commit_transaction(transaction, &version.drive) + .expect("expected to commit"); + + cache.protocol_versions_counter.merge_block_cache(); + + drop(cache); + + let request = GetVersionUpgradeVoteStatusRequest { + version: Some(Version::V0(GetVersionUpgradeVoteStatusRequestV0 { + start_pro_tx_hash: validator_pro_tx_hash.to_vec(), + count: 5, + prove: true, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = GetVersionUpgradeVoteStatusResponse::decode( + validation_result.data.unwrap().as_slice(), + ) + .unwrap(); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_version_upgrade_vote_status_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let proof = extract_variant_or_panic!( + result, + get_version_upgrade_vote_status_response_v0::Result::Proof(inner), + inner + ); + + let path = desired_version_for_validators_path_vec(); + + let query_item = QueryItem::RangeFrom(validator_pro_tx_hash.to_vec()..); + + let path_query = PathQuery::new( + path, + SizedQuery::new(Query::new_single_query_item(query_item), Some(5), None), + ); + + let elements = GroveDb::verify_query(proof.grovedb_proof.as_slice(), &path_query) + .expect("expected to be able to verify query") + .1; + + // we just started chain, there should be no versions + + assert_eq!(elements.len(), 1); + + let (_, _, element) = elements.first().unwrap(); + + assert!(element.is_some()); + + let element = element.clone().unwrap(); + + let count_bytes = element.as_item_bytes().expect("expected item bytes"); + + let count = u16::decode_var(count_bytes) + .expect("expected to decode var int") + .0; + + assert_eq!(count, 1); + + let upgrade = Drive::verify_upgrade_vote_status( + proof.grovedb_proof.as_slice(), + Some(validator_pro_tx_hash), + 5, + version, + ) + .expect("expected to verify the upgrade counts") + .1; + + assert_eq!(upgrade.len(), 1); + assert_eq!(upgrade.get(&validator_pro_tx_hash), Some(1).as_ref()); + } + } + + mod epoch_infos { + use dapi_grpc::platform::v0::get_epochs_info_request::{GetEpochsInfoRequestV0, Version}; + use dapi_grpc::platform::v0::{ + get_epochs_info_response, GetEpochsInfoRequest, GetEpochsInfoResponse, + }; + use prost::Message; + + const PATH: &str = "/epochInfos"; + + #[test] + fn test_query_empty_epoch_infos() { + let (platform, version) = super::setup_platform(); + + let request = GetEpochsInfoRequest { + version: Some(Version::V0(GetEpochsInfoRequestV0 { + start_epoch: None, // 0 + count: 5, + ascending: true, + prove: false, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = GetEpochsInfoResponse::decode( + validation_result.data.expect("expected data").as_slice(), + ) + .expect("expected to decode response"); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_epochs_info_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let epoch_infos = extract_variant_or_panic!( + result, + get_epochs_info_response::get_epochs_info_response_v0::Result::Epochs(inner), + inner + ); + + // we just started chain, there should be only 1 epoch info for the first epoch + + assert!(epoch_infos.epoch_infos.is_empty()) + } + + #[test] + fn test_query_empty_epoch_infos_descending() { + let (platform, version) = super::setup_platform(); + + let request = GetEpochsInfoRequest { + version: Some(Version::V0(GetEpochsInfoRequestV0 { + start_epoch: None, // 0 + count: 5, + ascending: false, + prove: false, + })), + } + .encode_to_vec(); + + let validation_result = platform + .query(PATH, &request, version) + .expect("expected query to succeed"); + let response = GetEpochsInfoResponse::decode( + validation_result.data.expect("expected data").as_slice(), + ) + .expect("expected to decode response"); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_epochs_info_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let epoch_infos = extract_variant_or_panic!( + result, + get_epochs_info_response::get_epochs_info_response_v0::Result::Epochs(inner), + inner + ); + + // we just started chain, there should be only 1 epoch info for the first epoch + + assert!(epoch_infos.epoch_infos.is_empty()) + } + } } diff --git a/packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs b/packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs index 5ae5faab56..a13e0878c5 100644 --- a/packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/response_metadata/v0/mod.rs @@ -8,6 +8,7 @@ impl Platform { ResponseMetadata { height: state.height(), core_chain_locked_height: state.core_height(), + epoch: state.epoch().index as u32, time_ms: state.last_block_time_ms().unwrap_or_default(), chain_id: self.config.abci.chain_id.clone(), protocol_version: state.current_protocol_version_in_consensus(), diff --git a/packages/rs-drive-abci/src/query/system/epoch_infos/mod.rs b/packages/rs-drive-abci/src/query/system/epoch_infos/mod.rs new file mode 100644 index 0000000000..ac50348d9f --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/epoch_infos/mod.rs @@ -0,0 +1,56 @@ +mod v0; + +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_epochs_info_request::Version; +use dapi_grpc::platform::v0::GetEpochsInfoRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + /// Querying of version upgrade state + pub(in crate::query) fn query_epoch_infos( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetEpochsInfoRequest { version } = + check_validation_result_with_data!(GetEpochsInfoRequest::decode(query_data).map_err( + |e| { QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) } + )); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode epoch info request".to_string()), + )); + }; + + let feature_version_bounds = &platform_version.drive_abci.query.system.epoch_infos; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "epoch_infos".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_epoch_infos_request) => { + self.query_epoch_infos_v0(state, get_epoch_infos_request, platform_version) + } + } + } +} diff --git a/packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs b/packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs new file mode 100644 index 0000000000..8fb355e59a --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/epoch_infos/v0/mod.rs @@ -0,0 +1,125 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_epochs_info_request::GetEpochsInfoRequestV0; +use dapi_grpc::platform::v0::get_epochs_info_response::get_epochs_info_response_v0::EpochInfos; +use dapi_grpc::platform::v0::get_epochs_info_response::GetEpochsInfoResponseV0; +use dapi_grpc::platform::v0::{ + get_epochs_info_response, GetEpochsInfoRequest, GetEpochsInfoResponse, Proof, +}; +use dpp::block::extended_epoch_info::v0::ExtendedEpochInfoV0Getters; +use dpp::check_validation_result_with_data; +use dpp::serialization::PlatformSerializableWithPlatformVersion; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + pub(super) fn query_epoch_infos_v0( + &self, + state: &PlatformState, + request: GetEpochsInfoRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetEpochsInfoRequestV0 { + start_epoch, + count, + ascending, + prove, + } = request; + + let start_epoch = start_epoch.unwrap_or_else(|| { + if ascending { + 0 + } else { + state.epoch_ref().index as u32 + } + }); + + if start_epoch >= u16::MAX as u32 { + return Ok(QueryValidationResult::new_with_error( + QueryError::InvalidArgument(format!( + "start epoch too high, received {}", + start_epoch + )), + )); + } + + if start_epoch + count >= u16::MAX as u32 { + return Ok(QueryValidationResult::new_with_error( + QueryError::InvalidArgument(format!("count too high, received {}", count)), + )); + } + + let response_data = if prove { + let proof = check_validation_result_with_data!(self.drive.prove_epochs_infos( + start_epoch as u16, + count as u16, + ascending, + None, + platform_version + )); + + GetEpochsInfoResponse { + version: Some(get_epochs_info_response::Version::V0( + GetEpochsInfoResponseV0 { + result: Some( + get_epochs_info_response::get_epochs_info_response_v0::Result::Proof( + Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + } else { + let result = check_validation_result_with_data!(self.drive.get_epochs_infos( + start_epoch as u16, + count as u16, + ascending, + None, + platform_version + )); + let epoch_infos = result + .into_iter() + .map(|epoch_info| { + get_epochs_info_response::get_epochs_info_response_v0::EpochInfo { + number: epoch_info.index() as u32, + first_block_height: epoch_info.first_block_height(), + first_core_block_height: epoch_info.first_core_block_height(), + start_time: epoch_info.first_block_time(), + fee_multiplier: epoch_info.fee_multiplier(), + } + }) + .collect(); + + GetEpochsInfoResponse { + version: Some(get_epochs_info_response::Version::V0( + GetEpochsInfoResponseV0 { + result: Some( + get_epochs_info_response::get_epochs_info_response_v0::Result::Epochs( + EpochInfos { epoch_infos }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/system/mod.rs b/packages/rs-drive-abci/src/query/system/mod.rs new file mode 100644 index 0000000000..620d66c187 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/mod.rs @@ -0,0 +1,3 @@ +mod epoch_infos; +mod version_upgrade_state; +mod version_upgrade_vote_status; diff --git a/packages/rs-drive-abci/src/query/system/version_upgrade_state/mod.rs b/packages/rs-drive-abci/src/query/system/version_upgrade_state/mod.rs new file mode 100644 index 0000000000..be416f89f7 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/version_upgrade_state/mod.rs @@ -0,0 +1,63 @@ +mod v0; + +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_version_upgrade_state_request::Version; +use dapi_grpc::platform::v0::GetVersionUpgradeStateRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + /// Querying of version upgrade state + pub(in crate::query) fn query_version_upgrade_state( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetVersionUpgradeStateRequest { version } = + check_validation_result_with_data!(GetVersionUpgradeStateRequest::decode(query_data) + .map_err(|e| { + QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + })); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identity keys query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .system + .version_upgrade_state; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "version_upgrade_state".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_version_upgrade_state_request) => self.query_version_upgrade_state_v0( + state, + get_version_upgrade_state_request, + platform_version, + ), + } + } +} diff --git a/packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs b/packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs new file mode 100644 index 0000000000..791baab0c8 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/version_upgrade_state/v0/mod.rs @@ -0,0 +1,83 @@ +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::{ + get_version_upgrade_state_response, GetVersionUpgradeStateRequest, + GetVersionUpgradeStateResponse, Proof, +}; +use dpp::check_validation_result_with_data; +use dpp::serialization::PlatformSerializableWithPlatformVersion; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; +use dapi_grpc::platform::v0::get_version_upgrade_state_request::GetVersionUpgradeStateRequestV0; +use dapi_grpc::platform::v0::get_version_upgrade_state_response::get_version_upgrade_state_response_v0::{VersionEntry, Versions}; +use dapi_grpc::platform::v0::get_version_upgrade_state_response::GetVersionUpgradeStateResponseV0; + +impl Platform { + pub(super) fn query_version_upgrade_state_v0( + &self, + state: &PlatformState, + request: GetVersionUpgradeStateRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetVersionUpgradeStateRequestV0 { prove } = request; + + let response_data = if prove { + let proof = check_validation_result_with_data!(self + .drive + .fetch_proved_versions_with_counter(None, &platform_version.drive)); + + GetVersionUpgradeStateResponse { + version: Some(get_version_upgrade_state_response::Version::V0( + GetVersionUpgradeStateResponseV0 { + result: Some( + get_version_upgrade_state_response::get_version_upgrade_state_response_v0::Result::Proof( + Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + } else { + let drive_cache = self.drive.cache.read().unwrap(); + let versions = drive_cache + .protocol_versions_counter + .global_cache + .iter() + .map(|(protocol_version, count)| VersionEntry { + version_number: *protocol_version, + vote_count: *count as u32, + }) + .collect(); + + GetVersionUpgradeStateResponse { + version: Some(get_version_upgrade_state_response::Version::V0( + GetVersionUpgradeStateResponseV0 { + result: Some( + get_version_upgrade_state_response::get_version_upgrade_state_response_v0::Result::Versions( + Versions { versions }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/mod.rs b/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/mod.rs new file mode 100644 index 0000000000..1d5dc146e5 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/mod.rs @@ -0,0 +1,64 @@ +mod v0; + +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_version_upgrade_vote_status_request::Version; +use dapi_grpc::platform::v0::GetVersionUpgradeVoteStatusRequest; +use dpp::check_validation_result_with_data; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; + +impl Platform { + /// Querying of version upgrade vote status + pub(in crate::query) fn query_version_upgrade_vote_status( + &self, + state: &PlatformState, + query_data: &[u8], + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let GetVersionUpgradeVoteStatusRequest { version } = check_validation_result_with_data!( + GetVersionUpgradeVoteStatusRequest::decode(query_data).map_err(|e| { + QueryError::InvalidArgument(format!("invalid query proto message: {}", e)) + }) + ); + + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode identity keys query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .system + .version_upgrade_vote_status; + + let feature_version = match &version { + Version::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "version_upgrade_vote_status".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + Version::V0(get_version_upgrade_vote_status_request) => self + .query_version_upgrade_vote_status_v0( + state, + get_version_upgrade_vote_status_request, + platform_version, + ), + } + } +} diff --git a/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs b/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs new file mode 100644 index 0000000000..5b06041ee4 --- /dev/null +++ b/packages/rs-drive-abci/src/query/system/version_upgrade_vote_status/v0/mod.rs @@ -0,0 +1,122 @@ +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::v0::PlatformStateV0Methods; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::{ + get_version_upgrade_vote_status_response, GetVersionUpgradeVoteStatusRequest, + GetVersionUpgradeVoteStatusResponse, Proof, +}; +use dpp::check_validation_result_with_data; +use dpp::platform_value::Bytes32; +use dpp::serialization::PlatformSerializableWithPlatformVersion; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use prost::Message; +use dapi_grpc::platform::v0::get_version_upgrade_vote_status_request::GetVersionUpgradeVoteStatusRequestV0; +use dapi_grpc::platform::v0::get_version_upgrade_vote_status_response::get_version_upgrade_vote_status_response_v0::{VersionSignal, VersionSignals}; +use dapi_grpc::platform::v0::get_version_upgrade_vote_status_response::GetVersionUpgradeVoteStatusResponseV0; +use crate::error::query::QueryError; + +impl Platform { + pub(super) fn query_version_upgrade_vote_status_v0( + &self, + state: &PlatformState, + request: GetVersionUpgradeVoteStatusRequestV0, + platform_version: &PlatformVersion, + ) -> Result>, Error> { + let metadata = self.response_metadata_v0(state); + let quorum_type = self.config.quorum_type() as u32; + let GetVersionUpgradeVoteStatusRequestV0 { + start_pro_tx_hash, + count, + prove, + } = request; + + let start_pro_tx_hash: Option<[u8; 32]> = if start_pro_tx_hash.is_empty() { + None + } else { + match start_pro_tx_hash.try_into() { + Ok(bytes) => Some(bytes), + Err(e) => { + return Ok(QueryValidationResult::new_with_error( + QueryError::InvalidArgument(format!( + "start_pro_tx_hash not 32 bytes long, received {}", + hex::encode(e) + )), + )) + } + } + }; + + if count >= u16::MAX as u32 { + return Ok(QueryValidationResult::new_with_error( + QueryError::InvalidArgument(format!("count too high, received {}", count)), + )); + } + + let response_data = if prove { + let proof = check_validation_result_with_data!(self + .drive + .fetch_proved_validator_version_votes( + start_pro_tx_hash, + count as u16, + None, + &platform_version.drive + )); + + GetVersionUpgradeVoteStatusResponse { + version: Some(get_version_upgrade_vote_status_response::Version::V0( + GetVersionUpgradeVoteStatusResponseV0 { + result: Some( + get_version_upgrade_vote_status_response::get_version_upgrade_vote_status_response_v0::Result::Proof( + Proof { + grovedb_proof: proof, + quorum_hash: state.last_quorum_hash().to_vec(), + quorum_type, + block_id_hash: state.last_block_id_hash().to_vec(), + signature: state.last_block_signature().to_vec(), + round: state.last_block_round(), + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + } else { + let result = + check_validation_result_with_data!(self.drive.fetch_validator_version_votes( + start_pro_tx_hash, + count as u16, + None, + &platform_version.drive + )); + let versions = result + .into_iter() + .map(|(pro_tx_hash, version)| VersionSignal { + pro_tx_hash: pro_tx_hash.to_vec(), + version, + }) + .collect(); + + GetVersionUpgradeVoteStatusResponse { + version: Some(get_version_upgrade_vote_status_response::Version::V0( + GetVersionUpgradeVoteStatusResponseV0 { + result: Some( + get_version_upgrade_vote_status_response::get_version_upgrade_vote_status_response_v0::Result::Versions( + VersionSignals { + version_signals: versions, + }, + ), + ), + metadata: Some(metadata), + }, + )), + } + .encode_to_vec() + }; + Ok(QueryValidationResult::new_with_data(response_data)) + } +} diff --git a/packages/rs-drive-abci/src/query/v0/mod.rs b/packages/rs-drive-abci/src/query/v0/mod.rs index 06fb4536ae..e241bd6f44 100644 --- a/packages/rs-drive-abci/src/query/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/v0/mod.rs @@ -39,6 +39,13 @@ impl Platform { self.query_documents(&state, query_data, platform_version) } "/proofs" => self.query_proofs(&state, query_data, platform_version), + "/versionUpgrade/state" => { + self.query_version_upgrade_state(&state, query_data, platform_version) + } + "/versionUpgrade/voteStatus" => { + self.query_version_upgrade_vote_status(&state, query_data, platform_version) + } + "/epochInfos" => self.query_epoch_infos(&state, query_data, platform_version), other => Ok(QueryValidationResult::new_with_error( QueryError::InvalidArgument(format!("query path '{}' is not supported", other)), )), diff --git a/packages/rs-drive-abci/tests/strategy_tests/query.rs b/packages/rs-drive-abci/tests/strategy_tests/query.rs index 104b4c7eb4..acc957200c 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/query.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/query.rs @@ -322,3 +322,460 @@ impl QueryStrategy { } } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::execution::{continue_chain_for_strategy, run_chain_for_strategy}; + use crate::query::QueryStrategy; + use crate::strategy::{FailureStrategy, MasternodeListChangesStrategy, NetworkStrategy}; + use dashcore_rpc::dashcore::hashes::Hash; + use dashcore_rpc::dashcore::BlockHash; + use dashcore_rpc::dashcore_rpc_json::ExtendedQuorumDetails; + use dpp::block::extended_block_info::v0::ExtendedBlockInfoV0Getters; + use strategy_tests::operations::DocumentAction::DocumentActionReplace; + use strategy_tests::operations::{ + DocumentAction, DocumentOp, IdentityUpdateOp, Operation, OperationType, + }; + + use dapi_grpc::platform::v0::get_epochs_info_request::{GetEpochsInfoRequestV0, Version}; + use dapi_grpc::platform::v0::{ + get_epochs_info_response, GetEpochsInfoRequest, GetEpochsInfoResponse, + }; + use dpp::block::epoch::EpochIndex; + use dpp::block::extended_epoch_info::v0::ExtendedEpochInfoV0Getters; + use dpp::data_contract::accessors::v0::{DataContractV0Getters, DataContractV0Setters}; + use dpp::data_contract::document_type::random_document::{ + DocumentFieldFillSize, DocumentFieldFillType, + }; + use dpp::identity::accessors::IdentityGettersV0; + use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; + use dpp::serialization::PlatformDeserializable; + use dpp::tests::json_document::json_document_to_created_contract; + use dpp::util::hash::hash_to_hex_string; + use dpp::version::PlatformVersion; + use drive_abci::config::{ExecutionConfig, PlatformConfig, PlatformTestConfig}; + use drive_abci::logging::LogLevel; + use drive_abci::platform_types::platform_state::v0::PlatformStateV0Methods; + use drive_abci::rpc::core::QuorumListExtendedInfo; + use drive_abci::test::helpers::setup::TestPlatformBuilder; + use itertools::Itertools; + use strategy_tests::Strategy; + use tenderdash_abci::proto::abci::{RequestInfo, ResponseInfo}; + use tenderdash_abci::proto::types::CoreChainLock; + use tenderdash_abci::Application; + + macro_rules! extract_single_variant_or_panic { + ($expression:expr, $pattern:pat, $binding:ident) => { + match $expression { + $pattern => $binding, + // _ => panic!( + // "Expected pattern {} but got another variant", + // stringify!($pattern) + // ), + } + }; + } + + macro_rules! extract_variant_or_panic { + ($expression:expr, $pattern:pat, $binding:ident) => { + match $expression { + $pattern => $binding, + _ => panic!( + "Expected pattern {} but got another variant", + stringify!($pattern) + ), + } + }; + } + + #[test] + fn run_chain_query_epoch_info() { + let strategy = NetworkStrategy { + strategy: Strategy { + contracts_with_updates: vec![], + operations: vec![], + start_identities: vec![], + identities_inserts: Frequency { + times_per_block_range: Default::default(), + chance_per_block: None, + }, + signer: None, + }, + total_hpmns: 100, + extra_normal_mns: 0, + quorum_count: 24, + upgrading_info: None, + core_height_increase: Frequency { + times_per_block_range: 1..3, + chance_per_block: Some(0.5), + }, + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + verify_state_transition_results: true, + }; + let hour_in_ms = 1000 * 60 * 60; + let config = PlatformConfig { + quorum_size: 100, + execution: ExecutionConfig { + verify_sum_trees: true, + validator_set_quorum_rotation_block_count: 100, + ..Default::default() + }, + block_spacing_ms: hour_in_ms, + testing_configs: PlatformTestConfig::default_with_no_block_signing(), + ..Default::default() + }; + + let mut platform = TestPlatformBuilder::new() + .with_config(config.clone()) + .build_with_mock_rpc(); + platform + .core_rpc + .expect_get_best_chain_lock() + .returning(move || { + Ok(CoreChainLock { + core_block_height: 10, + core_block_hash: [1; 32].to_vec(), + signature: [2; 96].to_vec(), + }) + }); + let outcome = run_chain_for_strategy(&mut platform, 1000, strategy, config, 15); + assert_eq!(outcome.masternode_identity_balances.len(), 100); + let all_have_balances = outcome + .masternode_identity_balances + .iter() + .all(|(_, balance)| *balance != 0); + assert!(all_have_balances, "all masternodes should have a balance"); + + let request = GetEpochsInfoRequest { + version: Some(Version::V0(GetEpochsInfoRequestV0 { + start_epoch: None, + count: 8, + ascending: true, + prove: false, + })), + } + .encode_to_vec(); + + let platform_state = outcome + .abci_app + .platform + .state + .read() + .expect("expected to read state"); + let protocol_version = platform_state.current_protocol_version_in_consensus(); + drop(platform_state); + let platform_version = PlatformVersion::get(protocol_version) + .expect("expected to get current platform version"); + let validation_result = outcome + .abci_app + .platform + .query("/epochInfos", &request, platform_version) + .expect("expected query to succeed"); + let response = GetEpochsInfoResponse::decode( + validation_result.data.expect("expected data").as_slice(), + ) + .expect("expected to decode response"); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_epochs_info_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let epoch_infos = extract_variant_or_panic!( + result, + get_epochs_info_response::get_epochs_info_response_v0::Result::Epochs(inner), + inner + ); + + // we should have 5 epochs worth of infos + + assert_eq!(epoch_infos.epoch_infos.len(), 5) + } + + #[test] + fn run_chain_query_epoch_info_latest() { + let strategy = NetworkStrategy { + strategy: Strategy { + contracts_with_updates: vec![], + operations: vec![], + start_identities: vec![], + identities_inserts: Frequency { + times_per_block_range: Default::default(), + chance_per_block: None, + }, + signer: None, + }, + total_hpmns: 100, + extra_normal_mns: 0, + quorum_count: 24, + upgrading_info: None, + core_height_increase: Frequency { + times_per_block_range: 1..3, + chance_per_block: Some(0.5), + }, + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + verify_state_transition_results: true, + }; + let hour_in_ms = 1000 * 60 * 60; + let config = PlatformConfig { + quorum_size: 100, + execution: ExecutionConfig { + verify_sum_trees: true, + validator_set_quorum_rotation_block_count: 100, + ..Default::default() + }, + block_spacing_ms: hour_in_ms, + testing_configs: PlatformTestConfig::default_with_no_block_signing(), + ..Default::default() + }; + + let mut platform = TestPlatformBuilder::new() + .with_config(config.clone()) + .build_with_mock_rpc(); + platform + .core_rpc + .expect_get_best_chain_lock() + .returning(move || { + Ok(CoreChainLock { + core_block_height: 10, + core_block_hash: [1; 32].to_vec(), + signature: [2; 96].to_vec(), + }) + }); + let outcome = run_chain_for_strategy(&mut platform, 1000, strategy, config, 15); + assert_eq!(outcome.masternode_identity_balances.len(), 100); + let all_have_balances = outcome + .masternode_identity_balances + .iter() + .all(|(_, balance)| *balance != 0); + assert!(all_have_balances, "all masternodes should have a balance"); + + let request = GetEpochsInfoRequest { + version: Some(Version::V0(GetEpochsInfoRequestV0 { + start_epoch: None, + count: 1, + ascending: false, + prove: false, + })), + } + .encode_to_vec(); + + let platform_state = outcome + .abci_app + .platform + .state + .read() + .expect("expected to read state"); + let protocol_version = platform_state.current_protocol_version_in_consensus(); + drop(platform_state); + let platform_version = PlatformVersion::get(protocol_version) + .expect("expected to get current platform version"); + let validation_result = outcome + .abci_app + .platform + .query("/epochInfos", &request, platform_version) + .expect("expected query to succeed"); + let response = GetEpochsInfoResponse::decode( + validation_result.data.expect("expected data").as_slice(), + ) + .expect("expected to decode response"); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_epochs_info_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let epoch_infos = extract_variant_or_panic!( + result, + get_epochs_info_response::get_epochs_info_response_v0::Result::Epochs(inner), + inner + ); + + // we should have 5 epochs worth of infos + + assert_eq!(epoch_infos.epoch_infos.len(), 1); + assert_eq!(epoch_infos.epoch_infos.first().unwrap().number, 4); + } + + #[test] + fn run_chain_prove_epoch_info() { + let strategy = NetworkStrategy { + strategy: Strategy { + contracts_with_updates: vec![], + operations: vec![], + start_identities: vec![], + identities_inserts: Frequency { + times_per_block_range: Default::default(), + chance_per_block: None, + }, + signer: None, + }, + total_hpmns: 100, + extra_normal_mns: 0, + quorum_count: 24, + upgrading_info: None, + core_height_increase: Frequency { + times_per_block_range: 1..3, + chance_per_block: Some(0.5), + }, + proposer_strategy: Default::default(), + rotate_quorums: false, + failure_testing: None, + query_testing: None, + verify_state_transition_results: true, + }; + let hour_in_ms = 1000 * 60 * 60; + let config = PlatformConfig { + quorum_size: 100, + execution: ExecutionConfig { + verify_sum_trees: true, + validator_set_quorum_rotation_block_count: 100, + ..Default::default() + }, + block_spacing_ms: hour_in_ms, + testing_configs: PlatformTestConfig::default_with_no_block_signing(), + ..Default::default() + }; + + let mut platform = TestPlatformBuilder::new() + .with_config(config.clone()) + .build_with_mock_rpc(); + platform + .core_rpc + .expect_get_best_chain_lock() + .returning(move || { + Ok(CoreChainLock { + core_block_height: 10, + core_block_hash: [1; 32].to_vec(), + signature: [2; 96].to_vec(), + }) + }); + let outcome = run_chain_for_strategy(&mut platform, 1000, strategy, config, 15); + assert_eq!(outcome.masternode_identity_balances.len(), 100); + let all_have_balances = outcome + .masternode_identity_balances + .iter() + .all(|(_, balance)| *balance != 0); + assert!(all_have_balances, "all masternodes should have a balance"); + + let request = GetEpochsInfoRequest { + version: Some(Version::V0(GetEpochsInfoRequestV0 { + start_epoch: None, + count: 8, + ascending: true, + prove: true, + })), + } + .encode_to_vec(); + + let platform_state = outcome + .abci_app + .platform + .state + .read() + .expect("expected to read state"); + let protocol_version = platform_state.current_protocol_version_in_consensus(); + let current_epoch = platform_state.epoch_ref().index; + drop(platform_state); + let platform_version = PlatformVersion::get(protocol_version) + .expect("expected to get current platform version"); + let validation_result = outcome + .abci_app + .platform + .query("/epochInfos", &request, platform_version) + .expect("expected query to succeed"); + let response = GetEpochsInfoResponse::decode( + validation_result.data.expect("expected data").as_slice(), + ) + .expect("expected to decode response"); + + let result = extract_single_variant_or_panic!( + response.version.expect("expected a versioned response"), + get_epochs_info_response::Version::V0(inner), + inner + ) + .result + .expect("expected a result"); + + let epoch_infos_proof = extract_variant_or_panic!( + result, + get_epochs_info_response::get_epochs_info_response_v0::Result::Proof(inner), + inner + ); + + let epoch_infos = Drive::verify_epoch_infos( + epoch_infos_proof.grovedb_proof.as_slice(), + current_epoch, + None, + 8, + true, + platform_version, + ) + .expect("expected to verify current epochs") + .1; + + // we should have 5 epochs worth of infos + + assert_eq!(epoch_infos.len(), 5); + + let request = GetEpochsInfoRequest { + version: Some(Version::V0(GetEpochsInfoRequestV0 { + start_epoch: None, + count: 1, + ascending: false, + prove: true, + })), + } + .encode_to_vec(); + + let validation_result = outcome + .abci_app + .platform + .query("/epochInfos", &request, platform_version) + .expect("expected query to succeed"); + let response = GetEpochsInfoResponse::decode( + validation_result.data.expect("expected data").as_slice(), + ) + .expect("expected to decode response"); + + let get_epochs_info_response::Version::V0(response_v0) = + response.version.expect("expected a versioned response"); + + let result = response_v0.result.expect("expected a result"); + + let metadata = response_v0.metadata.expect("expected metadata"); + + let epoch_infos_proof = extract_variant_or_panic!( + result, + get_epochs_info_response::get_epochs_info_response_v0::Result::Proof(inner), + inner + ); + + let epoch_infos = Drive::verify_epoch_infos( + epoch_infos_proof.grovedb_proof.as_slice(), + metadata.epoch as EpochIndex, + None, + 1, + false, + platform_version, + ) + .expect("expected to verify current epochs") + .1; + + assert_eq!(epoch_infos.len(), 1); + assert_eq!(epoch_infos.first().unwrap().index(), 4); + } +} diff --git a/packages/rs-drive/Cargo.toml b/packages/rs-drive/Cargo.toml index a84187536a..cc4e9af87e 100644 --- a/packages/rs-drive/Cargo.toml +++ b/packages/rs-drive/Cargo.toml @@ -17,7 +17,7 @@ private = true serde = { version = "1.0.152", features = ["derive"] } platform-version = { path = "../rs-platform-version" } ciborium = { git = "https://github.com/qrayven/ciborium", branch = "feat-ser-null-as-undefined" } -integer-encoding = { version = "3.0.4" } +integer-encoding = { version = "4.0.0" } rand = { version = "0.8.4", features = ["small_rng"] } byteorder = { version = "1.4.3" } indexmap = { version = "1.8.0" } @@ -44,10 +44,10 @@ rust_decimal = { version = "1.2.5", optional = true } rust_decimal_macros = { version = "1.25.0", optional = true } lazy_static = { version = "1.4.0", optional = true } mockall = { version = "0.11", optional = true } -grovedb = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953", optional = true } -grovedb-costs = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953", optional = true } -grovedb-path = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953" } -grovedb-storage = { git = "https://github.com/dashpay/grovedb", rev = "11198471542442de286348d0936475c8e602f953", optional = true } +grovedb = { git = "https://github.com/dashpay/grovedb", rev = "67896ea00e697922dd8db29fccbdfddce97a4fe2", optional = true } +grovedb-costs = { git = "https://github.com/dashpay/grovedb", rev = "67896ea00e697922dd8db29fccbdfddce97a4fe2", optional = true } +grovedb-path = { git = "https://github.com/dashpay/grovedb", rev = "67896ea00e697922dd8db29fccbdfddce97a4fe2" } +grovedb-storage = { git = "https://github.com/dashpay/grovedb", rev = "67896ea00e697922dd8db29fccbdfddce97a4fe2", optional = true } [dev-dependencies] criterion = "0.3.5" diff --git a/packages/rs-drive/src/drive/cache.rs b/packages/rs-drive/src/drive/cache.rs index 644aea6d3f..b6c8dc1273 100644 --- a/packages/rs-drive/src/drive/cache.rs +++ b/packages/rs-drive/src/drive/cache.rs @@ -31,7 +31,8 @@ pub struct DriveCache { #[cfg(feature = "full")] #[derive(Default)] pub struct ProtocolVersionsCache { - global_cache: IntMap, + /// The current global cache for protocol versions + pub global_cache: IntMap, block_cache: IntMap, loaded: bool, needs_wipe: bool, diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/mod.rs new file mode 100644 index 0000000000..c861f139f3 --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/mod.rs @@ -0,0 +1,43 @@ +mod v0; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::block::epoch::Epoch; +use dpp::block::extended_epoch_info::ExtendedEpochInfo; +use grovedb::TransactionArg; + +use dpp::version::PlatformVersion; + +impl Drive { + /// Get multiple epoch infos starting at a given epoch index + pub fn get_epochs_infos( + &self, + start_epoch_index: u16, + count: u16, + ascending: bool, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, Error> { + match platform_version + .drive + .methods + .credit_pools + .epochs + .get_epochs_infos + { + 0 => self.get_epochs_infos_v0( + start_epoch_index, + count, + ascending, + transaction, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "get_epochs_infos".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/v0/mod.rs new file mode 100644 index 0000000000..e72e63bcee --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/get_epochs_infos/v0/mod.rs @@ -0,0 +1,221 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::block::epoch::{Epoch, EpochIndex, EPOCH_KEY_OFFSET}; +use dpp::block::extended_epoch_info::v0::ExtendedEpochInfoV0; +use dpp::block::extended_epoch_info::ExtendedEpochInfo; +use dpp::ProtocolError; +use grovedb::query_result_type::{QueryResultElement, QueryResultType}; +use grovedb::{Element, PathQuery, Query, SizedQuery, TransactionArg}; +use std::collections::BTreeMap; +use std::u64; + +use crate::drive::credit_pools::pools_vec_path; +use crate::error::query::QuerySyntaxError; +use crate::fee_pools::epochs::epoch_key_constants::{ + KEY_FEE_MULTIPLIER, KEY_START_BLOCK_CORE_HEIGHT, KEY_START_BLOCK_HEIGHT, KEY_START_TIME, +}; +use crate::query::QueryItem; +use dpp::version::PlatformVersion; + +impl Drive { + pub(super) fn get_epochs_infos_v0( + &self, + start_epoch_index: u16, + count: u16, + ascending: bool, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, Error> { + if count > 16383 { + return Err(Error::Query(QuerySyntaxError::InvalidLimit(format!( + "get_epochs_infos_v0 count too high {}", + count + )))); + } + let index_with_offset = start_epoch_index + .checked_add(EPOCH_KEY_OFFSET) + .ok_or(ProtocolError::Overflow("stored epoch index too high"))?; + let mut subquery = Query::new(); + subquery.insert_keys(vec![ + KEY_START_TIME.to_vec(), + KEY_START_BLOCK_HEIGHT.to_vec(), + KEY_START_BLOCK_CORE_HEIGHT.to_vec(), + KEY_FEE_MULTIPLIER.to_vec(), + ]); + let mut query = if ascending { + Query::new_single_query_item(QueryItem::RangeFrom( + index_with_offset.to_be_bytes().to_vec().., + )) + } else { + Query::new_single_query_item(QueryItem::RangeToInclusive( + ..=index_with_offset.to_be_bytes().to_vec(), + )) + }; + query.left_to_right = ascending; + query.set_subquery(subquery); + let path_query = PathQuery::new( + pools_vec_path(), + SizedQuery::new(query, Some(count * 4), None), + ); + + let results = self + .grove_get_path_query( + &path_query, + transaction, + QueryResultType::QueryPathKeyElementTrioResultType, + &mut vec![], + &platform_version.drive, + )? + .0; + + let results = results.elements.into_iter().fold( + BTreeMap::<_, BTreeMap<_, _>>::new(), + |mut acc, result_item| { + if let QueryResultElement::PathKeyElementTrioResultItem((path, key, element)) = + result_item + { + acc.entry(path) + .or_insert_with(BTreeMap::new) + .insert(key, element); + } + acc + }, + ); + + // Convert the BTreeMap entries to ExtendedEpochInfo + let extended_epoch_infos = results + .into_iter() + .filter_map(|(path, inner_map)| { + // Extract the epoch index from the path's last component + // and adjust by subtracting the EPOCH_KEY_OFFSET + let epoch_index_result: Result = path + .last() + .ok_or(Error::Drive(DriveError::CorruptedSerialization( + "extended epoch info: path can not be empty".to_string(), + ))) + .and_then(|epoch_index_vec| { + epoch_index_vec.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "extended epoch info: item has an invalid length".to_string(), + )) + }) + }) + .and_then(|epoch_index_bytes| { + EpochIndex::from_be_bytes(epoch_index_bytes) + .checked_sub(EPOCH_KEY_OFFSET) + .ok_or(Error::Drive(DriveError::CorruptedSerialization( + "epoch bytes on disk too small, should be over epoch key offset" + .to_string(), + ))) + }); + + let epoch_index = match epoch_index_result { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_block_time_element = inner_map.get(&KEY_START_TIME.to_vec())?; + + let Element::Item(encoded_start_time, _) = first_block_time_element else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "start time must be an item", + )))); + }; + + let first_block_time_bytes: [u8; 8] = + match encoded_start_time.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "extended epoch info: block time must be 8 bytes for a u64".to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_block_time = u64::from_be_bytes(first_block_time_bytes); + + let first_block_height_element = inner_map.get(&KEY_START_BLOCK_HEIGHT.to_vec())?; + + let Element::Item(encoded_start_block_height, _) = first_block_height_element + else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "extended epoch info: start time must be an item", + )))); + }; + + let first_block_height_bytes: [u8; 8] = match encoded_start_block_height + .as_slice() + .try_into() + .map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "extended epoch info: block height must be 8 bytes for a u64" + .to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_block_height = u64::from_be_bytes(first_block_height_bytes); + + let first_core_block_height_element = + inner_map.get(&KEY_START_BLOCK_CORE_HEIGHT.to_vec())?; + + let Element::Item(encoded_start_core_block_height, _) = + first_core_block_height_element + else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "start time must be an item", + )))); + }; + + let first_core_block_height_bytes: [u8; 4] = match encoded_start_core_block_height + .as_slice() + .try_into() + .map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "core block height must be 4 bytes for a u32".to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_core_block_height = u32::from_be_bytes(first_core_block_height_bytes); + + let fee_multiplier_element = inner_map.get(&KEY_FEE_MULTIPLIER.to_vec())?; + + let Element::Item(encoded_multiplier, _) = fee_multiplier_element else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "epochs multiplier must be an item", + )))); + }; + + let fee_multiplier_bytes: [u8; 8] = + match encoded_multiplier.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "fee multiplier must be 8 bytes for a f64".to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let fee_multiplier = f64::from_be_bytes(fee_multiplier_bytes); + + // Construct the ExtendedEpochInfo + Some(Ok(ExtendedEpochInfoV0 { + index: epoch_index, + first_block_time, + first_block_height, + first_core_block_height, + fee_multiplier, + } + .into())) + }) + .collect::, Error>>()?; + + Ok(extended_epoch_infos) + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/mod.rs index 21f2787cd1..6168093348 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/mod.rs @@ -37,7 +37,9 @@ use dpp::block::epoch::Epoch; use grovedb::TransactionArg; pub mod credit_distribution_pools; +mod get_epochs_infos; pub mod proposers; +mod prove_epochs_infos; pub mod start_block; pub mod start_time; diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs index 7ca1b2b554..2a84a51af9 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/proposers/get_epoch_proposers/v0/mod.rs @@ -27,6 +27,7 @@ impl Drive { .query_raw( &path_query, transaction.is_some(), + true, QueryKeyElementPairResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/mod.rs new file mode 100644 index 0000000000..53bb73f027 --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/mod.rs @@ -0,0 +1,42 @@ +mod v0; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::block::epoch::Epoch; +use grovedb::TransactionArg; + +use dpp::version::PlatformVersion; + +impl Drive { + /// Prove multiple epoch infos starting at a given epoch index + pub fn prove_epochs_infos( + &self, + start_epoch_index: u16, + count: u16, + ascending: bool, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, Error> { + match platform_version + .drive + .methods + .credit_pools + .epochs + .prove_epochs_infos + { + 0 => self.prove_epochs_infos_v0( + start_epoch_index, + count, + ascending, + transaction, + platform_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "prove_info".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/v0/mod.rs new file mode 100644 index 0000000000..ccc50354cb --- /dev/null +++ b/packages/rs-drive/src/drive/credit_pools/epochs/prove_epochs_infos/v0/mod.rs @@ -0,0 +1,68 @@ +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::block::epoch::{Epoch, EpochIndex, EPOCH_KEY_OFFSET}; +use dpp::block::extended_epoch_info::v0::ExtendedEpochInfoV0; +use dpp::ProtocolError; +use grovedb::query_result_type::QueryResultElement; +use grovedb::{Element, PathQuery, Query, SizedQuery, TransactionArg}; +use std::collections::BTreeMap; + +use crate::drive::credit_pools::pools_vec_path; +use crate::error::query::QuerySyntaxError; +use crate::fee_pools::epochs::epoch_key_constants::{ + KEY_FEE_MULTIPLIER, KEY_START_BLOCK_CORE_HEIGHT, KEY_START_BLOCK_HEIGHT, KEY_START_TIME, +}; +use crate::query::QueryItem; +use dpp::version::PlatformVersion; + +impl Drive { + pub(super) fn prove_epochs_infos_v0( + &self, + start_epoch_index: u16, + count: u16, + ascending: bool, + transaction: TransactionArg, + platform_version: &PlatformVersion, + ) -> Result, Error> { + if count > 16383 { + return Err(Error::Query(QuerySyntaxError::InvalidLimit(format!( + "get_epochs_infos_v0 count too high {}", + count + )))); + } + let index_with_offset = start_epoch_index + .checked_add(EPOCH_KEY_OFFSET) + .ok_or(ProtocolError::Overflow("stored epoch index too high"))?; + let mut subquery = Query::new(); + subquery.insert_keys(vec![ + KEY_START_TIME.to_vec(), + KEY_START_BLOCK_HEIGHT.to_vec(), + KEY_START_BLOCK_CORE_HEIGHT.to_vec(), + KEY_FEE_MULTIPLIER.to_vec(), + ]); + let mut query = if ascending { + Query::new_single_query_item(QueryItem::RangeFrom( + index_with_offset.to_be_bytes().to_vec().., + )) + } else { + Query::new_single_query_item(QueryItem::RangeToInclusive( + ..=index_with_offset.to_be_bytes().to_vec(), + )) + }; + query.left_to_right = ascending; + query.set_subquery(subquery); + let path_query = PathQuery::new( + pools_vec_path(), + SizedQuery::new(query, Some(count * 4), None), + ); + + self.grove_get_proved_path_query( + &path_query, + false, + transaction, + &mut vec![], + &platform_version.drive, + ) + } +} diff --git a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs index a1f4d85249..c65d9a06b4 100644 --- a/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/epochs/start_block/get_first_epoch_start_block_info_between_epochs/v0/mod.rs @@ -44,6 +44,7 @@ impl Drive { .query_raw( &path_query, transaction.is_some(), + false, //set to false on purpose QueryPathKeyElementTrioResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/credit_pools/mod.rs b/packages/rs-drive/src/drive/credit_pools/mod.rs index beeec85491..82f4c4f0b1 100644 --- a/packages/rs-drive/src/drive/credit_pools/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/mod.rs @@ -98,6 +98,7 @@ impl Drive { .query_raw( &PathQuery::new_unsized(pools_vec_path(), epochs_query), transaction.is_some(), + true, QueryResultType::QueryElementResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/credit_pools/paths.rs b/packages/rs-drive/src/drive/credit_pools/paths.rs index 64ade71b7b..13661d7f5d 100644 --- a/packages/rs-drive/src/drive/credit_pools/paths.rs +++ b/packages/rs-drive/src/drive/credit_pools/paths.rs @@ -1,11 +1,25 @@ use crate::drive::RootTree; +use crate::error::Error; use crate::fee_pools::epochs_root_tree_key_constants::KEY_STORAGE_FEE_POOL; +use dpp::block::epoch::{EpochIndex, EPOCH_KEY_OFFSET}; +use dpp::ProtocolError; /// Returns the path to the Pools subtree. pub fn pools_path() -> [&'static [u8]; 1] { [Into::<&[u8; 1]>::into(RootTree::Pools)] } +/// Returns the path of an epoch. +pub fn epoch_path_vec(epoch: EpochIndex) -> Result>, Error> { + let index_with_offset = epoch + .checked_add(EPOCH_KEY_OFFSET) + .ok_or(ProtocolError::Overflow("stored epoch index too high"))?; + Ok(vec![ + vec![RootTree::Pools as u8], + index_with_offset.to_be_bytes().to_vec(), + ]) +} + /// Returns the path to the Pools subtree as a mutable vector. pub fn pools_vec_path() -> Vec> { vec![vec![RootTree::Pools as u8]] diff --git a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs index 6651a08650..98b63f3738 100644 --- a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/add_delete_pending_epoch_refunds_except_specified/v0/mod.rs @@ -28,6 +28,7 @@ impl Drive { .query_raw( &PathQuery::new_unsized(pending_epoch_refunds_path_vec(), query), transaction.is_some(), + true, QueryResultType::QueryKeyElementPairResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs index 0e94e993f9..9c6245aa1c 100644 --- a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_and_add_pending_epoch_refunds_to_collection/v0/mod.rs @@ -35,6 +35,7 @@ impl Drive { .query_raw( &PathQuery::new_unsized(pending_epoch_refunds_path_vec(), query), transaction.is_some(), + true, QueryResultType::QueryKeyElementPairResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs index 636b74b826..64419b3205 100644 --- a/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/pending_epoch_refunds/methods/fetch_pending_epoch_refunds/v0/mod.rs @@ -23,6 +23,7 @@ impl Drive { .query_raw( &PathQuery::new_unsized(pending_epoch_refunds_path_vec(), query), transaction.is_some(), + true, QueryResultType::QueryKeyElementPairResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs b/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs index 5977fecfee..3092f0f401 100644 --- a/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs +++ b/packages/rs-drive/src/drive/credit_pools/unpaid_epoch/mod.rs @@ -59,9 +59,9 @@ impl Drive { let epoch_index = EpochIndex::from_be_bytes(encoded_epoch_index.as_slice().try_into().map_err(|_| { - Error::Drive(DriveError::CorruptedSerialization(String::from( - "item have an invalid length", - ))) + Error::Drive(DriveError::CorruptedSerialization( + "item has an invalid length".to_string(), + )) })?); Ok(epoch_index) diff --git a/packages/rs-drive/src/drive/grove_operations/grove_get_path_query/v0/mod.rs b/packages/rs-drive/src/drive/grove_operations/grove_get_path_query/v0/mod.rs index b0494ef999..1b26fca1fa 100644 --- a/packages/rs-drive/src/drive/grove_operations/grove_get_path_query/v0/mod.rs +++ b/packages/rs-drive/src/drive/grove_operations/grove_get_path_query/v0/mod.rs @@ -16,9 +16,13 @@ impl Drive { result_type: QueryResultType, drive_operations: &mut Vec, ) -> Result<(QueryResultElements, u16), Error> { - let CostContext { value, cost } = - self.grove - .query(path_query, transaction.is_some(), result_type, transaction); + let CostContext { value, cost } = self.grove.query( + path_query, + transaction.is_some(), + true, + result_type, + transaction, + ); drive_operations.push(CalculatedCostOperation(cost)); value.map_err(Error::GroveDB) } diff --git a/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_serialized_results/v0/mod.rs b/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_serialized_results/v0/mod.rs index a339a71e26..c99e84e0ea 100644 --- a/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_serialized_results/v0/mod.rs +++ b/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_serialized_results/v0/mod.rs @@ -16,7 +16,7 @@ impl Drive { ) -> Result<(Vec>, u16), Error> { let CostContext { value, cost } = self.grove - .query_item_value(path_query, transaction.is_some(), transaction); + .query_item_value(path_query, transaction.is_some(), true, transaction); drive_operations.push(CalculatedCostOperation(cost)); value.map_err(Error::GroveDB) } diff --git a/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_with_optional/v0/mod.rs b/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_with_optional/v0/mod.rs index 551339836b..c456f8b611 100644 --- a/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_with_optional/v0/mod.rs +++ b/packages/rs-drive/src/drive/grove_operations/grove_get_path_query_with_optional/v0/mod.rs @@ -17,7 +17,7 @@ impl Drive { ) -> Result, Error> { let CostContext { value, cost } = self.grove - .query_keys_optional(path_query, true, transaction); + .query_keys_optional(path_query, true, true, transaction); drive_operations.push(CalculatedCostOperation(cost)); value.map_err(Error::GroveDB) } diff --git a/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query/v0/mod.rs b/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query/v0/mod.rs index 9990edf48c..7293183a99 100644 --- a/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query/v0/mod.rs +++ b/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query/v0/mod.rs @@ -16,9 +16,13 @@ impl Drive { result_type: QueryResultType, drive_operations: &mut Vec, ) -> Result<(QueryResultElements, u16), Error> { - let CostContext { value, cost } = - self.grove - .query_raw(path_query, transaction.is_some(), result_type, transaction); + let CostContext { value, cost } = self.grove.query_raw( + path_query, + transaction.is_some(), + true, + result_type, + transaction, + ); drive_operations.push(CalculatedCostOperation(cost)); value.map_err(Error::GroveDB) } diff --git a/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query_with_optional/v0/mod.rs b/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query_with_optional/v0/mod.rs index feaacce052..a76ed04f39 100644 --- a/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query_with_optional/v0/mod.rs +++ b/packages/rs-drive/src/drive/grove_operations/grove_get_raw_path_query_with_optional/v0/mod.rs @@ -17,7 +17,7 @@ impl Drive { ) -> Result, Error> { let CostContext { value, cost } = self.grove - .query_raw_keys_optional(path_query, true, transaction); + .query_raw_keys_optional(path_query, true, true, transaction); drive_operations.push(CalculatedCostOperation(cost)); value.map_err(Error::GroveDB) } diff --git a/packages/rs-drive/src/drive/grove_operations/mod.rs b/packages/rs-drive/src/drive/grove_operations/mod.rs index d54ffe4b62..1ca6e9bda1 100644 --- a/packages/rs-drive/src/drive/grove_operations/mod.rs +++ b/packages/rs-drive/src/drive/grove_operations/mod.rs @@ -180,11 +180,14 @@ pub type IsSumTree = bool; pub enum BatchDeleteApplyType { /// Stateless batch delete StatelessBatchDelete { + /// Are we deleting in a sum tree is_sum_tree: bool, + /// What is the estimatated value size estimated_value_size: u32, }, /// Stateful batch delete StatefulBatchDelete { + /// Are we known to be in a subtree and does this subtree have sums is_known_to_be_subtree_with_sum: Option<(IsSubTree, IsSumSubTree)>, }, } @@ -193,10 +196,12 @@ pub enum BatchDeleteApplyType { pub enum BatchDeleteUpTreeApplyType { /// Stateless batch delete StatelessBatchDelete { + /// The estimated layer info estimated_layer_info: IntMap, }, /// Stateful batch delete StatefulBatchDelete { + /// Are we known to be in a subtree and does this subtree have sums is_known_to_be_subtree_with_sum: Option<(IsSubTree, IsSumSubTree)>, }, } @@ -207,8 +212,11 @@ pub enum BatchDeleteUpTreeApplyType { pub enum BatchInsertTreeApplyType { /// Stateless batch insert tree StatelessBatchInsertTree { + /// Does this tree use sums? in_tree_using_sums: bool, + /// Are we inserting in a sum tree is_sum_tree: bool, + /// The flags length flags_len: FlagsLen, }, /// Stateful batch insert tree @@ -245,7 +253,9 @@ impl BatchInsertTreeApplyType { pub enum BatchInsertApplyType { /// Stateless batch insert StatelessBatchInsert { + /// Does this tree use sums? in_tree_using_sums: bool, + /// the type of Target (Tree or Value) target: QueryTarget, }, /// Stateful batch insert @@ -306,7 +316,9 @@ impl QueryTarget { pub enum DirectQueryType { /// Stateless direct query StatelessDirectQuery { + /// Does this tree use sums? in_tree_using_sums: bool, + /// the type of Target (Tree or Value) query_target: QueryTarget, }, /// Stateful direct query @@ -376,8 +388,11 @@ impl DirectQueryType { pub enum QueryType { /// Stateless query StatelessQuery { + /// Does this tree use sums? in_tree_using_sums: bool, + /// the type of Target (Tree or Value) query_target: QueryTarget, + /// The estimated sizes of references estimated_reference_sizes: Vec, }, /// Stateful query diff --git a/packages/rs-drive/src/drive/identity/fetch/mod.rs b/packages/rs-drive/src/drive/identity/fetch/mod.rs index f4c7bc225e..e15843fc33 100644 --- a/packages/rs-drive/src/drive/identity/fetch/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/mod.rs @@ -84,7 +84,7 @@ impl Drive { }; let (result_items, _) = self .grove - .query_raw(&path_query, true, QueryElementResultType, transaction) + .query_raw(&path_query, true, true, QueryElementResultType, transaction) .unwrap() .map_err(Error::GroveDB)?; @@ -115,6 +115,7 @@ impl Drive { .query_raw( &path_query, true, + true, QueryKeyElementPairResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identities/v0/mod.rs b/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identities/v0/mod.rs index 51870f67d8..36c6e2fe50 100644 --- a/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identities/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identities/v0/mod.rs @@ -81,6 +81,7 @@ mod tests { .query_raw( &path_query, true, + true, QueryResultType::QueryPathKeyElementTrioResultType, None, ) @@ -248,6 +249,7 @@ mod tests { .query_raw( &path_query, true, + true, QueryResultType::QueryPathKeyElementTrioResultType, None, ) diff --git a/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identity/v0/mod.rs b/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identity/v0/mod.rs index 4d815ce159..5c0fa1fb84 100644 --- a/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identity/v0/mod.rs +++ b/packages/rs-drive/src/drive/identity/fetch/prove/prove_full_identity/v0/mod.rs @@ -146,6 +146,7 @@ mod tests { .query_raw( &path_query, true, + true, QueryResultType::QueryPathKeyElementTrioResultType, None, ) diff --git a/packages/rs-drive/src/drive/identity/withdrawals/queue.rs b/packages/rs-drive/src/drive/identity/withdrawals/queue.rs index 4496226765..17c00a5c9b 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/queue.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/queue.rs @@ -57,6 +57,7 @@ impl Drive { .query_raw( &path_query, transaction.is_some(), + true, QueryResultType::QueryKeyElementPairResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/identity/withdrawals/transaction_index.rs b/packages/rs-drive/src/drive/identity/withdrawals/transaction_index.rs index cb20a5e7a9..f87bc09264 100644 --- a/packages/rs-drive/src/drive/identity/withdrawals/transaction_index.rs +++ b/packages/rs-drive/src/drive/identity/withdrawals/transaction_index.rs @@ -36,6 +36,7 @@ impl Drive { .query_raw( &expired_index_query, transaction.is_some(), + true, QueryResultType::QueryKeyElementPairResultType, transaction, ) diff --git a/packages/rs-drive/src/drive/mod.rs b/packages/rs-drive/src/drive/mod.rs index e1fa273b4a..84b78c70e1 100644 --- a/packages/rs-drive/src/drive/mod.rs +++ b/packages/rs-drive/src/drive/mod.rs @@ -62,8 +62,10 @@ pub mod defaults; pub mod document; #[cfg(any(feature = "full", feature = "verify"))] pub mod flags; + +/// Low level GroveDB operations #[cfg(feature = "full")] -pub(crate) mod grove_operations; +pub mod grove_operations; /// Identity module #[cfg(any(feature = "full", feature = "verify"))] pub mod identity; @@ -71,8 +73,10 @@ pub mod identity; pub mod initialization; #[cfg(feature = "full")] pub mod object_size_info; + +/// Protocol upgrade module #[cfg(feature = "full")] -mod protocol_upgrade; +pub mod protocol_upgrade; #[cfg(feature = "full")] mod shared_estimation_costs; #[cfg(feature = "full")] diff --git a/packages/rs-drive/src/drive/operations/apply_batch_low_level_drive_operations/mod.rs b/packages/rs-drive/src/drive/operations/apply_batch_low_level_drive_operations/mod.rs index c27c6a04ad..1d0d162fcf 100644 --- a/packages/rs-drive/src/drive/operations/apply_batch_low_level_drive_operations/mod.rs +++ b/packages/rs-drive/src/drive/operations/apply_batch_low_level_drive_operations/mod.rs @@ -27,7 +27,7 @@ impl Drive { /// /// * `Result<(), Error>` - On success, returns `Ok(())`. On error, returns an `Error`. /// - pub(crate) fn apply_batch_low_level_drive_operations( + pub fn apply_batch_low_level_drive_operations( &self, estimated_costs_only_with_layer_info: Option< HashMap, diff --git a/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/mod.rs new file mode 100644 index 0000000000..34667e8c16 --- /dev/null +++ b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/mod.rs @@ -0,0 +1,52 @@ +mod v0; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::version::drive_versions::DriveVersion; + +use grovedb::TransactionArg; + +impl Drive { + /// Fetch validator votes for versions + /// + /// # Arguments + /// + /// * `start_protx_hash` - The first identifier to get votes from. If none is set start from the + /// first item by ordered hash. + /// * `count` - How many max items to retrieve. + /// * `transaction` - A `TransactionArg` object representing the transaction. + /// + /// # Returns + /// + /// * `Result, Error>` - If successful, returns an `Ok(Vec)` which contains the proof of versions and their counters. If an error occurs during the operation, returns an `Error`. + /// + /// # Errors + /// + /// This function will return an error if the Drive version is unknown or any issue with the data reading process. + pub fn fetch_proved_validator_version_votes( + &self, + start_protx_hash: Option<[u8; 32]>, + count: u16, + transaction: TransactionArg, + drive_version: &DriveVersion, + ) -> Result, Error> { + match drive_version + .methods + .protocol_upgrade + .fetch_proved_validator_version_votes + { + 0 => self.fetch_proved_validator_version_votes_v0( + start_protx_hash, + count, + transaction, + drive_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "fetch_proved_validator_version_votes".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/v0/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/v0/mod.rs new file mode 100644 index 0000000000..3c172c109b --- /dev/null +++ b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_validator_version_votes/v0/mod.rs @@ -0,0 +1,49 @@ +use crate::drive::protocol_upgrade::{ + desired_version_for_validators_path, desired_version_for_validators_path_vec, + versions_counter_path_vec, +}; +use crate::drive::Drive; +use crate::error::Error; +use std::ops::RangeFull; + +use crate::error::query::QuerySyntaxError; +use crate::query::QueryItem; +use dpp::version::drive_versions::DriveVersion; +use grovedb::{PathQuery, Query, SizedQuery, TransactionArg}; + +impl Drive { + /// Fetch versions by validators for the upgrade window and return them as a proved item + pub(super) fn fetch_proved_validator_version_votes_v0( + &self, + start_protx_hash: Option<[u8; 32]>, + count: u16, + transaction: TransactionArg, + drive_version: &DriveVersion, + ) -> Result, Error> { + if count == 0 { + return Err(Error::Query(QuerySyntaxError::NoQueryItems( + "We did not ask for the votes of any validators", + ))); + } + let path = desired_version_for_validators_path_vec(); + + let query_item = if let Some(start_protx_hash) = start_protx_hash { + QueryItem::RangeFrom(start_protx_hash.to_vec()..) + } else { + QueryItem::RangeFull(RangeFull) + }; + + let path_query = PathQuery::new( + path, + SizedQuery::new(Query::new_single_query_item(query_item), Some(count), None), + ); + + self.grove_get_proved_path_query( + &path_query, + false, + transaction, + &mut vec![], + drive_version, + ) + } +} diff --git a/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/mod.rs new file mode 100644 index 0000000000..b3721f06c6 --- /dev/null +++ b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/mod.rs @@ -0,0 +1,46 @@ +mod v0; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; + +use dpp::util::deserializer::ProtocolVersion; +use dpp::version::drive_versions::DriveVersion; + +use grovedb::TransactionArg; + +use nohash_hasher::IntMap; + +impl Drive { + /// Fetch versions by count for the upgrade window + /// + /// # Arguments + /// + /// * `transaction` - A `TransactionArg` object representing the transaction. + /// + /// # Returns + /// + /// * `Result, Error>` - If successful, returns an `Ok(Vec)` which contains the proof of versions and their counters. If an error occurs during the operation, returns an `Error`. + /// + /// # Errors + /// + /// This function will return an error if the Drive version is unknown or any issue with the data reading process. + pub fn fetch_proved_versions_with_counter( + &self, + transaction: TransactionArg, + drive_version: &DriveVersion, + ) -> Result, Error> { + match drive_version + .methods + .protocol_upgrade + .fetch_proved_versions_with_counter + { + 0 => self.fetch_proved_versions_with_counter_v0(transaction, drive_version), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "fetch_proved_versions_with_counter".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/v0/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/v0/mod.rs new file mode 100644 index 0000000000..45a04852a5 --- /dev/null +++ b/packages/rs-drive/src/drive/protocol_upgrade/fetch_proved_versions_with_counter/v0/mod.rs @@ -0,0 +1,29 @@ +use crate::drive::protocol_upgrade::versions_counter_path_vec; +use crate::drive::Drive; +use crate::error::Error; + +use crate::query::QueryItem; +use dpp::version::drive_versions::DriveVersion; +use grovedb::{PathQuery, Query, TransactionArg}; +use std::ops::RangeFull; + +impl Drive { + /// Fetch versions by count for the upgrade window and return them as a proved item + pub(super) fn fetch_proved_versions_with_counter_v0( + &self, + transaction: TransactionArg, + drive_version: &DriveVersion, + ) -> Result, Error> { + let path_query = PathQuery::new_unsized( + versions_counter_path_vec(), + Query::new_single_query_item(QueryItem::RangeFull(RangeFull)), + ); + self.grove_get_proved_path_query( + &path_query, + false, + transaction, + &mut vec![], + drive_version, + ) + } +} diff --git a/packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/mod.rs new file mode 100644 index 0000000000..f2bd0b430a --- /dev/null +++ b/packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/mod.rs @@ -0,0 +1,54 @@ +mod v0; + +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::version::drive_versions::DriveVersion; +use std::collections::BTreeMap; + +use dpp::util::deserializer::ProtocolVersion; +use grovedb::TransactionArg; + +impl Drive { + /// Fetch validator votes for versions + /// + /// # Arguments + /// + /// * `start_protx_hash` - The first identifier to get votes from. If none is set start from the + /// first item by ordered hash. + /// * `count` - How many max items to retrieve. + /// * `transaction` - A `TransactionArg` object representing the transaction. + /// + /// # Returns + /// + /// * `Result, Error>` - If successful, returns an `Ok(BTreeMap<[u8;32], ProtocolVersion>)` which contains the versions votes by validators. If an error occurs during the operation, returns an `Error`. + /// + /// # Errors + /// + /// This function will return an error if the Drive version is unknown or any issue with the data reading process. + pub fn fetch_validator_version_votes( + &self, + start_protx_hash: Option<[u8; 32]>, + count: u16, + transaction: TransactionArg, + drive_version: &DriveVersion, + ) -> Result, Error> { + match drive_version + .methods + .protocol_upgrade + .fetch_validator_version_votes + { + 0 => self.fetch_validator_version_votes_v0( + start_protx_hash, + count, + transaction, + drive_version, + ), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "fetch_validator_version_votes".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/v0/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/v0/mod.rs new file mode 100644 index 0000000000..2c80fe161b --- /dev/null +++ b/packages/rs-drive/src/drive/protocol_upgrade/fetch_validator_version_votes/v0/mod.rs @@ -0,0 +1,77 @@ +use crate::drive::protocol_upgrade::{ + desired_version_for_validators_path, desired_version_for_validators_path_vec, + versions_counter_path_vec, +}; +use crate::drive::Drive; +use crate::error::Error; +use std::collections::BTreeMap; +use std::ops::RangeFull; + +use crate::error::drive::DriveError; +use crate::error::query::QuerySyntaxError; +use crate::query::QueryItem; +use dpp::util::deserializer::ProtocolVersion; +use dpp::version::drive_versions::DriveVersion; +use grovedb::query_result_type::QueryResultType; +use grovedb::{PathQuery, Query, SizedQuery, TransactionArg}; +use integer_encoding::VarInt; + +impl Drive { + /// Fetch versions by validators for the upgrade window and return them as a proved item + pub(super) fn fetch_validator_version_votes_v0( + &self, + start_protx_hash: Option<[u8; 32]>, + count: u16, + transaction: TransactionArg, + drive_version: &DriveVersion, + ) -> Result, Error> { + if count == 0 { + return Err(Error::Query(QuerySyntaxError::NoQueryItems( + "We did not ask for the votes of any validators", + ))); + } + let path = desired_version_for_validators_path_vec(); + + let query_item = if let Some(start_protx_hash) = start_protx_hash { + QueryItem::RangeFrom(start_protx_hash.to_vec()..) + } else { + QueryItem::RangeFull(RangeFull) + }; + + let path_query = PathQuery::new( + path, + SizedQuery::new(Query::new_single_query_item(query_item), Some(count), None), + ); + + let results = self + .grove_get_path_query( + &path_query, + transaction, + QueryResultType::QueryKeyElementPairResultType, + &mut vec![], + drive_version, + )? + .0 + .to_key_elements(); + + results + .into_iter() + .map(|(key, value)| { + let value = value.as_item_bytes()?; + let version = ProtocolVersion::decode_var(value) + .ok_or(Error::Drive(DriveError::CorruptedDriveState( + "version in state not representative of a ProtocolVersion".to_string(), + )))? + .0; + Ok(( + key.try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedDriveState( + "key protxhash not 32 bytes long".to_string(), + )) + })?, + version, + )) + }) + .collect() + } +} diff --git a/packages/rs-drive/src/drive/protocol_upgrade/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/mod.rs index 6d9f75dff0..7030db0bf2 100644 --- a/packages/rs-drive/src/drive/protocol_upgrade/mod.rs +++ b/packages/rs-drive/src/drive/protocol_upgrade/mod.rs @@ -4,6 +4,9 @@ use crate::drive::RootTree; mod change_to_new_version_and_clear_version_information; mod clear_version_information; +mod fetch_proved_validator_version_votes; +mod fetch_proved_versions_with_counter; +mod fetch_validator_version_votes; mod fetch_versions_with_counter; mod remove_validators_proposed_app_versions; mod update_validator_proposed_app_version; @@ -27,26 +30,28 @@ pub fn add_initial_fork_update_structure_operations(batch: &mut GroveDbOpBatch) } /// versions counter path -pub(crate) fn versions_counter_path() -> [&'static [u8]; 2] { +pub fn versions_counter_path() -> [&'static [u8]; 2] { [ Into::<&[u8; 1]>::into(RootTree::Versions), VERSIONS_COUNTER.as_slice(), ] } -fn versions_counter_path_vec() -> Vec> { +/// versions counter path +pub fn versions_counter_path_vec() -> Vec> { vec![vec![RootTree::Versions as u8], VERSIONS_COUNTER.to_vec()] } /// desired version for validators path -pub(crate) fn desired_version_for_validators_path() -> [&'static [u8]; 2] { +pub fn desired_version_for_validators_path() -> [&'static [u8]; 2] { [ Into::<&[u8; 1]>::into(RootTree::Versions), VALIDATOR_DESIRED_VERSIONS.as_slice(), ] } -fn desired_version_for_validators_path_vec() -> Vec> { +/// desired version for validators path +pub fn desired_version_for_validators_path_vec() -> Vec> { vec![ vec![RootTree::Versions as u8], VALIDATOR_DESIRED_VERSIONS.to_vec(), diff --git a/packages/rs-drive/src/drive/protocol_upgrade/update_validator_proposed_app_version/v0/mod.rs b/packages/rs-drive/src/drive/protocol_upgrade/update_validator_proposed_app_version/v0/mod.rs index dd9bb2cf90..2bc7862682 100644 --- a/packages/rs-drive/src/drive/protocol_upgrade/update_validator_proposed_app_version/v0/mod.rs +++ b/packages/rs-drive/src/drive/protocol_upgrade/update_validator_proposed_app_version/v0/mod.rs @@ -116,7 +116,6 @@ impl Drive { )?; } - // Assuming `self` is an instance of ProtocolVersionsCache let mut version_count = version_counter.get(&version).cloned().unwrap_or_default(); version_count += 1; diff --git a/packages/rs-drive/src/drive/verify/mod.rs b/packages/rs-drive/src/drive/verify/mod.rs index f715d6de60..3b1ce6ae85 100644 --- a/packages/rs-drive/src/drive/verify/mod.rs +++ b/packages/rs-drive/src/drive/verify/mod.rs @@ -7,5 +7,8 @@ pub mod identity; /// Single Document verification methods on proofs pub mod single_document; +/// System components (Epoch info etc...) verification methods on proofs +pub mod system; + /// Represents the root hash of the grovedb tree pub type RootHash = [u8; 32]; diff --git a/packages/rs-drive/src/drive/verify/system/mod.rs b/packages/rs-drive/src/drive/verify/system/mod.rs new file mode 100644 index 0000000000..f9b5d16245 --- /dev/null +++ b/packages/rs-drive/src/drive/verify/system/mod.rs @@ -0,0 +1,3 @@ +mod verify_epoch_infos; +mod verify_upgrade_state; +mod verify_upgrade_vote_status; diff --git a/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/mod.rs new file mode 100644 index 0000000000..2181c2982b --- /dev/null +++ b/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/mod.rs @@ -0,0 +1,57 @@ +use crate::drive::verify::RootHash; +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::block::epoch::EpochIndex; +use dpp::block::extended_epoch_info::ExtendedEpochInfo; +use dpp::version::PlatformVersion; + +mod v0; + +impl Drive { + /// Verifies a proof containing potentially multiple epoch infos. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `current_epoch`: The current epoch index, can be acquired from metadata. + /// - `start_epoch`: The first epoch index. + /// - `count`: The amount of epochs to get. + /// - `ascending`: True if we want to get epochs from oldest to newest. + /// - `platform_version`: the platform version, + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `Vec`. The `Vec` + /// represents verified epoch information if it exists. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + pub fn verify_epoch_infos( + proof: &[u8], + current_epoch: EpochIndex, + start_epoch: Option, + count: u16, + ascending: bool, + platform_version: &PlatformVersion, + ) -> Result<(RootHash, Vec), Error> { + match platform_version + .drive + .methods + .verify + .system + .verify_epoch_infos + { + 0 => Drive::verify_epoch_infos_v0(proof, current_epoch, start_epoch, count, ascending), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "verify_epoch_infos".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs new file mode 100644 index 0000000000..8dc259c309 --- /dev/null +++ b/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs @@ -0,0 +1,230 @@ +use crate::drive::credit_pools::pools_vec_path; +use crate::drive::verify::RootHash; +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::proof::ProofError; +use crate::error::Error; +use crate::fee_pools::epochs::epoch_key_constants::{ + KEY_FEE_MULTIPLIER, KEY_START_BLOCK_CORE_HEIGHT, KEY_START_BLOCK_HEIGHT, KEY_START_TIME, +}; +use crate::query::{Query, QueryItem}; +use dpp::block::epoch::{EpochIndex, EPOCH_KEY_OFFSET}; +use dpp::block::extended_epoch_info::v0::ExtendedEpochInfoV0; +use dpp::block::extended_epoch_info::ExtendedEpochInfo; +use dpp::ProtocolError; +use grovedb::{Element, GroveDb, PathQuery, SizedQuery}; +use std::collections::BTreeMap; + +impl Drive { + /// Verifies that the contract is included in the proof. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `current_epoch`: The current epoch index, can be acquired from metadata. + /// - `start_epoch`: The first epoch index. + /// - `count`: The amount of epochs to get. + /// - `ascending`: True if we want to get epochs from oldest to newest. + /// - `platform_version`: the platform version, + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `Option`. The `Option` + /// represents the verified contract if it exists. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + pub(super) fn verify_epoch_infos_v0( + proof: &[u8], + current_epoch: EpochIndex, + start_epoch: Option, + count: u16, + ascending: bool, + ) -> Result<(RootHash, Vec), Error> { + let start_epoch_index = start_epoch.unwrap_or({ + if ascending { + 0 + } else { + current_epoch + } + }); + let index_with_offset = start_epoch_index + .checked_add(EPOCH_KEY_OFFSET) + .ok_or(ProtocolError::Overflow("stored epoch index too high"))?; + let mut subquery = Query::new(); + subquery.insert_keys(vec![ + KEY_START_TIME.to_vec(), + KEY_START_BLOCK_HEIGHT.to_vec(), + KEY_START_BLOCK_CORE_HEIGHT.to_vec(), + KEY_FEE_MULTIPLIER.to_vec(), + ]); + let mut query = if ascending { + Query::new_single_query_item(QueryItem::RangeFrom( + index_with_offset.to_be_bytes().to_vec().., + )) + } else { + Query::new_single_query_item(QueryItem::RangeToInclusive( + ..=index_with_offset.to_be_bytes().to_vec(), + )) + }; + query.left_to_right = ascending; + query.set_subquery(subquery); + let path_query = PathQuery::new( + pools_vec_path(), + SizedQuery::new(query, Some(count * 4), None), + ); + + let (root_hash, elements) = GroveDb::verify_query(proof, &path_query)?; + + let results = elements.into_iter().fold( + BTreeMap::<_, BTreeMap<_, _>>::new(), + |mut acc, result_item| { + let (path, key, element) = result_item; + if path.len() == 2 { + acc.entry(path) + .or_insert_with(BTreeMap::new) + .insert(key, element); + } + acc + }, + ); + + // Convert the BTreeMap entries to ExtendedEpochInfo + let extended_epoch_infos = results + .into_iter() + .filter_map(|(path, inner_map)| { + // Extract the epoch index from the path's last component + // and adjust by subtracting the EPOCH_KEY_OFFSET + let epoch_index_result: Result = path + .last() + .ok_or(Error::Proof(ProofError::CorruptedProof( + "extended epoch info: path can not be empty", + ))) + .and_then(|epoch_index_vec| { + epoch_index_vec.as_slice().try_into().map_err(|_| { + Error::Proof(ProofError::CorruptedProof( + "extended epoch info: item has an invalid length", + )) + }) + }) + .and_then(|epoch_index_bytes| { + EpochIndex::from_be_bytes(epoch_index_bytes) + .checked_sub(EPOCH_KEY_OFFSET) + .ok_or(Error::Proof(ProofError::CorruptedProof( + "epoch bytes on disk too small, should be over epoch key offset", + ))) + }); + + let epoch_index = match epoch_index_result { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_block_time_element = inner_map.get(&KEY_START_TIME.to_vec())?; + + let Some(Element::Item(encoded_start_time, _)) = first_block_time_element else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "start time must be an item", + )))); + }; + + let first_block_time_bytes: [u8; 8] = + match encoded_start_time.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "extended epoch info: block time must be 8 bytes for a u64".to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_block_time = u64::from_be_bytes(first_block_time_bytes); + + let first_block_height_element = inner_map.get(&KEY_START_BLOCK_HEIGHT.to_vec())?; + + let Some(Element::Item(encoded_start_block_height, _)) = first_block_height_element + else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "extended epoch info: start time must be an item", + )))); + }; + + let first_block_height_bytes: [u8; 8] = match encoded_start_block_height + .as_slice() + .try_into() + .map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "extended epoch info: block height must be 8 bytes for a u64" + .to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_block_height = u64::from_be_bytes(first_block_height_bytes); + + let first_core_block_height_element = + inner_map.get(&KEY_START_BLOCK_CORE_HEIGHT.to_vec())?; + + let Some(Element::Item(encoded_start_core_block_height, _)) = + first_core_block_height_element + else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "start time must be an item", + )))); + }; + + let first_core_block_height_bytes: [u8; 4] = match encoded_start_core_block_height + .as_slice() + .try_into() + .map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "core block height must be 4 bytes for a u32".to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let first_core_block_height = u32::from_be_bytes(first_core_block_height_bytes); + + let fee_multiplier_element = inner_map.get(&KEY_FEE_MULTIPLIER.to_vec())?; + + let Some(Element::Item(encoded_multiplier, _)) = fee_multiplier_element else { + return Some(Err(Error::Drive(DriveError::UnexpectedElementType( + "epochs multiplier must be an item", + )))); + }; + + let fee_multiplier_bytes: [u8; 8] = + match encoded_multiplier.as_slice().try_into().map_err(|_| { + Error::Drive(DriveError::CorruptedSerialization( + "fee multiplier must be 8 bytes for a f64".to_string(), + )) + }) { + Ok(value) => value, + Err(e) => return Some(Err(e)), + }; + + let fee_multiplier = f64::from_be_bytes(fee_multiplier_bytes); + + // Construct the ExtendedEpochInfo + Some(Ok(ExtendedEpochInfoV0 { + index: epoch_index, + first_block_time, + first_block_height, + first_core_block_height, + fee_multiplier, + } + .into())) + }) + .collect::, Error>>()?; + + Ok((root_hash, extended_epoch_infos)) + } +} diff --git a/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/mod.rs new file mode 100644 index 0000000000..7c0838ef5c --- /dev/null +++ b/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/mod.rs @@ -0,0 +1,51 @@ +use crate::drive::verify::RootHash; +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::block::epoch::EpochIndex; +use dpp::block::extended_epoch_info::ExtendedEpochInfo; +use dpp::util::deserializer::ProtocolVersion; +use dpp::version::PlatformVersion; +use nohash_hasher::IntMap; + +mod v0; + +impl Drive { + /// Verifies a proof containing the current upgrade state. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `platform_version`: the platform version, + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `Vec`. The `Vec` + /// represents verified epoch information if it exists. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + pub fn verify_upgrade_state( + proof: &[u8], + platform_version: &PlatformVersion, + ) -> Result<(RootHash, IntMap), Error> { + match platform_version + .drive + .methods + .verify + .system + .verify_upgrade_state + { + 0 => Drive::verify_upgrade_state_v0(proof), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "verify_upgrade_state".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs new file mode 100644 index 0000000000..6f109c1d89 --- /dev/null +++ b/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs @@ -0,0 +1,62 @@ +use crate::drive::protocol_upgrade::versions_counter_path_vec; +use crate::drive::verify::RootHash; +use crate::drive::Drive; +use crate::error::proof::ProofError; +use crate::error::Error; +use crate::query::{Query, QueryItem}; +use dpp::util::deserializer::ProtocolVersion; +use grovedb::{GroveDb, PathQuery}; +use integer_encoding::VarInt; +use nohash_hasher::IntMap; +use std::ops::RangeFull; +impl Drive { + /// Verifies a proof containing the current upgrade state. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `platform_version`: the platform version, + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `IntMap`. The `IntMap` + /// represents vote count of each version in the current epoch. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + pub(super) fn verify_upgrade_state_v0( + proof: &[u8], + ) -> Result<(RootHash, IntMap), Error> { + let path_query = PathQuery::new_unsized( + versions_counter_path_vec(), + Query::new_single_query_item(QueryItem::RangeFull(RangeFull)), + ); + + let (root_hash, elements) = GroveDb::verify_query(proof, &path_query)?; + + let protocol_version_map = elements + .into_iter() + .map(|(_, key, element)| { + let version = ProtocolVersion::decode_var(key.as_slice()) + .ok_or(ProofError::CorruptedProof("protocol version not decodable"))? + .0; + let element = element.ok_or(ProofError::CorruptedProof( + "expected a count for each version, got none", + ))?; + let count_bytes = element.as_item_bytes().map_err(|_| { + ProofError::CorruptedProof("expected an item for the element of a version") + })?; + let count = u64::decode_var(count_bytes) + .ok_or(ProofError::CorruptedProof("version count not decodable"))? + .0; + Ok((version, count)) + }) + .collect::, Error>>()?; + + Ok((root_hash, protocol_version_map)) + } +} diff --git a/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/mod.rs new file mode 100644 index 0000000000..1a6c3e6295 --- /dev/null +++ b/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/mod.rs @@ -0,0 +1,53 @@ +mod v0; + +use crate::drive::verify::RootHash; +use crate::drive::Drive; +use crate::error::drive::DriveError; +use crate::error::Error; +use dpp::util::deserializer::ProtocolVersion; +use dpp::version::PlatformVersion; +use std::collections::BTreeMap; + +impl Drive { + /// Verifies a proof containing potentially multiple epoch infos. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `first_pro_tx_hash`: the first pro tx hash that we are querying for. + /// - `count`: the amount of Evonodes that we want to retrieve. + /// - `platform_version`: the platform version, + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `BTreeMap<[u8;32], ProtocolVersion>`. The `BTreeMap<[u8;32], ProtocolVersion>` + /// represents a map of the version that each Evonode has voted for. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + pub fn verify_upgrade_vote_status( + proof: &[u8], + start_protx_hash: Option<[u8; 32]>, + count: u16, + platform_version: &PlatformVersion, + ) -> Result<(RootHash, BTreeMap<[u8; 32], ProtocolVersion>), Error> { + match platform_version + .drive + .methods + .verify + .system + .verify_upgrade_vote_status + { + 0 => Drive::verify_upgrade_vote_status_v0(proof, start_protx_hash, count), + version => Err(Error::Drive(DriveError::UnknownVersionMismatch { + method: "verify_upgrade_vote_status".to_string(), + known_versions: vec![0], + received: version, + })), + } + } +} diff --git a/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs new file mode 100644 index 0000000000..e5e4c01a07 --- /dev/null +++ b/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs @@ -0,0 +1,75 @@ +use crate::drive::protocol_upgrade::{ + desired_version_for_validators_path_vec, versions_counter_path_vec, +}; +use crate::drive::verify::RootHash; +use crate::drive::Drive; +use crate::error::proof::ProofError; +use crate::error::Error; +use crate::query::{Query, QueryItem}; +use dpp::util::deserializer::ProtocolVersion; +use grovedb::{GroveDb, PathQuery, SizedQuery}; +use integer_encoding::VarInt; +use std::collections::BTreeMap; +use std::ops::RangeFull; +impl Drive { + /// Verifies a proof containing the current upgrade state. + /// + /// # Parameters + /// + /// - `proof`: A byte slice representing the proof to be verified. + /// - `first_pro_tx_hash`: the first pro tx hash that we are querying for. + /// - `count`: the amount of Evonodes that we want to retrieve. + /// + /// # Returns + /// + /// Returns a `Result` with a tuple of `RootHash` and `BTreeMap<[u8;32], ProtocolVersion>`. The `BTreeMap<[u8;32], ProtocolVersion>` + /// represents a map of the version that each Evonode has voted for. + /// + /// # Errors + /// + /// Returns an `Error` if: + /// + /// - The proof is corrupted. + /// - The GroveDb query fails. + pub(super) fn verify_upgrade_vote_status_v0( + proof: &[u8], + start_protx_hash: Option<[u8; 32]>, + count: u16, + ) -> Result<(RootHash, BTreeMap<[u8; 32], ProtocolVersion>), Error> { + let path = desired_version_for_validators_path_vec(); + + let query_item = if let Some(start_protx_hash) = start_protx_hash { + QueryItem::RangeFrom(start_protx_hash.to_vec()..) + } else { + QueryItem::RangeFull(RangeFull) + }; + + let path_query = PathQuery::new( + path, + SizedQuery::new(Query::new_single_query_item(query_item), Some(count), None), + ); + + let (root_hash, elements) = GroveDb::verify_query(proof, &path_query)?; + + let protocol_version_map = elements + .into_iter() + .map(|(_, key, element)| { + let pro_tx_hash: [u8; 32] = key + .try_into() + .map_err(|_| ProofError::CorruptedProof("protocol version not decodable"))?; + let element = element.ok_or(ProofError::CorruptedProof( + "expected a count for each version, got none", + ))?; + let version_bytes = element.as_item_bytes().map_err(|_| { + ProofError::CorruptedProof("expected an item for the element of a version") + })?; + let version = u32::decode_var(version_bytes) + .ok_or(ProofError::CorruptedProof("version count not decodable"))? + .0; + Ok((pro_tx_hash, version)) + }) + .collect::, Error>>()?; + + Ok((root_hash, protocol_version_map)) + } +} diff --git a/packages/rs-platform-version/src/version/drive_abci_versions.rs b/packages/rs-platform-version/src/version/drive_abci_versions.rs index 6a63c9064e..a3e9d9a442 100644 --- a/packages/rs-platform-version/src/version/drive_abci_versions.rs +++ b/packages/rs-platform-version/src/version/drive_abci_versions.rs @@ -16,6 +16,7 @@ pub struct DriveAbciQueryVersions { pub document_query: FeatureVersionBounds, pub identity_based_queries: DriveAbciQueryIdentityVersions, pub data_contract_based_queries: DriveAbciQueryDataContractVersions, + pub system: DriveAbciQuerySystemVersions, } #[derive(Clone, Debug, Default)] @@ -36,6 +37,13 @@ pub struct DriveAbciQueryDataContractVersions { pub data_contracts: FeatureVersionBounds, } +#[derive(Clone, Debug, Default)] +pub struct DriveAbciQuerySystemVersions { + pub version_upgrade_state: FeatureVersionBounds, + pub version_upgrade_vote_status: FeatureVersionBounds, + pub epoch_infos: FeatureVersionBounds, +} + #[derive(Clone, Debug, Default)] pub struct DriveAbciStructureVersions { pub platform_state_structure: FeatureVersion, diff --git a/packages/rs-platform-version/src/version/drive_versions.rs b/packages/rs-platform-version/src/version/drive_versions.rs index c84dda6ab2..eb8d6f7da7 100644 --- a/packages/rs-platform-version/src/version/drive_versions.rs +++ b/packages/rs-platform-version/src/version/drive_versions.rs @@ -60,6 +60,7 @@ pub struct DriveVerifyMethodVersions { pub document: DriveVerifyDocumentMethodVersions, pub identity: DriveVerifyIdentityMethodVersions, pub single_document: DriveVerifySingleDocumentMethodVersions, + pub system: DriveVerifySystemMethodVersions, } #[derive(Clone, Debug, Default)] @@ -87,6 +88,13 @@ pub struct DriveVerifyIdentityMethodVersions { pub verify_identity_keys_by_identity_id: FeatureVersion, } +#[derive(Clone, Debug, Default)] +pub struct DriveVerifySystemMethodVersions { + pub verify_epoch_infos: FeatureVersion, + pub verify_upgrade_state: FeatureVersion, + pub verify_upgrade_vote_status: FeatureVersion, +} + #[derive(Clone, Debug, Default)] pub struct DriveVerifySingleDocumentMethodVersions { pub verify_proof: FeatureVersion, @@ -345,6 +353,8 @@ pub struct DriveCreditPoolMethodVersions { #[derive(Clone, Debug, Default)] pub struct DriveCreditPoolEpochsMethodVersions { + pub get_epochs_infos: FeatureVersion, + pub prove_epochs_infos: FeatureVersion, pub get_epoch_fee_multiplier: FeatureVersion, pub get_epoch_processing_credits_for_distribution: FeatureVersion, pub get_epoch_storage_credits_for_distribution: FeatureVersion, @@ -378,6 +388,9 @@ pub struct DriveProtocolUpgradeVersions { pub clear_version_information: FeatureVersion, pub change_to_new_version_and_clear_version_information: FeatureVersion, pub fetch_versions_with_counter: FeatureVersion, + pub fetch_proved_versions_with_counter: FeatureVersion, + pub fetch_validator_version_votes: FeatureVersion, + pub fetch_proved_validator_version_votes: FeatureVersion, pub remove_validators_proposed_app_versions: FeatureVersion, pub update_validator_proposed_app_version: FeatureVersion, } diff --git a/packages/rs-platform-version/src/version/mocks/v2_test.rs b/packages/rs-platform-version/src/version/mocks/v2_test.rs index f070df50d8..e3d56d0e39 100644 --- a/packages/rs-platform-version/src/version/mocks/v2_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v2_test.rs @@ -19,7 +19,7 @@ use crate::version::drive_abci_versions::{ DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, - DriveAbciQueryIdentityVersions, DriveAbciQueryVersions, + DriveAbciQueryIdentityVersions, DriveAbciQuerySystemVersions, DriveAbciQueryVersions, DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, @@ -55,7 +55,8 @@ use crate::version::drive_versions::{ DriveStructureVersion, DriveSystemEstimationCostsMethodVersions, DriveSystemProtocolVersionMethodVersions, DriveVerifyContractMethodVersions, DriveVerifyDocumentMethodVersions, DriveVerifyIdentityMethodVersions, - DriveVerifyMethodVersions, DriveVerifySingleDocumentMethodVersions, DriveVersion, + DriveVerifyMethodVersions, DriveVerifySingleDocumentMethodVersions, + DriveVerifySystemMethodVersions, DriveVersion, }; use crate::version::mocks::TEST_BYTES; use crate::version::protocol_version::{FeatureVersionBounds, PlatformVersion}; @@ -99,6 +100,8 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { }, credit_pools: DriveCreditPoolMethodVersions { epochs: DriveCreditPoolEpochsMethodVersions { + get_epochs_infos: 0, + prove_epochs_infos: 0, get_epoch_fee_multiplier: 0, get_epoch_processing_credits_for_distribution: 0, get_epoch_storage_credits_for_distribution: 0, @@ -128,6 +131,9 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { clear_version_information: 0, change_to_new_version_and_clear_version_information: 0, fetch_versions_with_counter: 0, + fetch_proved_versions_with_counter: 0, + fetch_validator_version_votes: 0, + fetch_proved_validator_version_votes: 0, remove_validators_proposed_app_versions: 0, update_validator_proposed_app_version: 0, }, @@ -244,6 +250,11 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { verify_proof: 0, verify_proof_keep_serialized: 0, }, + system: DriveVerifySystemMethodVersions { + verify_epoch_infos: 0, + verify_upgrade_state: 0, + verify_upgrade_vote_status: 0, + }, }, identity: DriveIdentityMethodVersions { fetch: DriveIdentityFetchMethodVersions { @@ -676,6 +687,23 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + system: DriveAbciQuerySystemVersions { + version_upgrade_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + version_upgrade_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + epoch_infos: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, }, }, dpp: DPPVersion { diff --git a/packages/rs-platform-version/src/version/mocks/v3_test.rs b/packages/rs-platform-version/src/version/mocks/v3_test.rs index d9567ac2a6..79de6ae7c5 100644 --- a/packages/rs-platform-version/src/version/mocks/v3_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v3_test.rs @@ -19,7 +19,7 @@ use crate::version::drive_abci_versions::{ DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, - DriveAbciQueryIdentityVersions, DriveAbciQueryVersions, + DriveAbciQueryIdentityVersions, DriveAbciQuerySystemVersions, DriveAbciQueryVersions, DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, @@ -55,7 +55,8 @@ use crate::version::drive_versions::{ DriveStructureVersion, DriveSystemEstimationCostsMethodVersions, DriveSystemProtocolVersionMethodVersions, DriveVerifyContractMethodVersions, DriveVerifyDocumentMethodVersions, DriveVerifyIdentityMethodVersions, - DriveVerifyMethodVersions, DriveVerifySingleDocumentMethodVersions, DriveVersion, + DriveVerifyMethodVersions, DriveVerifySingleDocumentMethodVersions, + DriveVerifySystemMethodVersions, DriveVersion, }; use crate::version::mocks::TEST_BYTES; use crate::version::protocol_version::{FeatureVersionBounds, PlatformVersion}; @@ -99,6 +100,8 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { }, credit_pools: DriveCreditPoolMethodVersions { epochs: DriveCreditPoolEpochsMethodVersions { + get_epochs_infos: 0, + prove_epochs_infos: 0, get_epoch_fee_multiplier: 0, get_epoch_processing_credits_for_distribution: 0, get_epoch_storage_credits_for_distribution: 0, @@ -128,6 +131,9 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { clear_version_information: 0, change_to_new_version_and_clear_version_information: 0, fetch_versions_with_counter: 0, + fetch_proved_versions_with_counter: 0, + fetch_validator_version_votes: 0, + fetch_proved_validator_version_votes: 0, remove_validators_proposed_app_versions: 0, update_validator_proposed_app_version: 0, }, @@ -252,6 +258,11 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { verify_proof: 0, verify_proof_keep_serialized: 0, }, + system: DriveVerifySystemMethodVersions { + verify_epoch_infos: 0, + verify_upgrade_state: 0, + verify_upgrade_vote_status: 0, + }, }, identity: DriveIdentityMethodVersions { fetch: DriveIdentityFetchMethodVersions { @@ -676,6 +687,23 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + system: DriveAbciQuerySystemVersions { + version_upgrade_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + version_upgrade_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + epoch_infos: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, }, }, dpp: DPPVersion { diff --git a/packages/rs-platform-version/src/version/v1.rs b/packages/rs-platform-version/src/version/v1.rs index 0bc3b19a23..2bb81da1fc 100644 --- a/packages/rs-platform-version/src/version/v1.rs +++ b/packages/rs-platform-version/src/version/v1.rs @@ -19,7 +19,7 @@ use crate::version::drive_abci_versions::{ DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions, DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions, DriveAbciProtocolUpgradeMethodVersions, DriveAbciQueryDataContractVersions, - DriveAbciQueryIdentityVersions, DriveAbciQueryVersions, + DriveAbciQueryIdentityVersions, DriveAbciQuerySystemVersions, DriveAbciQueryVersions, DriveAbciStateTransitionCommonValidationVersions, DriveAbciStateTransitionProcessingMethodVersions, DriveAbciStateTransitionValidationVersion, DriveAbciStateTransitionValidationVersions, DriveAbciStructureVersions, @@ -55,7 +55,8 @@ use crate::version::drive_versions::{ DriveStructureVersion, DriveSystemEstimationCostsMethodVersions, DriveSystemProtocolVersionMethodVersions, DriveVerifyContractMethodVersions, DriveVerifyDocumentMethodVersions, DriveVerifyIdentityMethodVersions, - DriveVerifyMethodVersions, DriveVerifySingleDocumentMethodVersions, DriveVersion, + DriveVerifyMethodVersions, DriveVerifySingleDocumentMethodVersions, + DriveVerifySystemMethodVersions, DriveVersion, }; use crate::version::protocol_version::{FeatureVersionBounds, PlatformVersion}; use crate::version::{AbciStructureVersion, PlatformArchitectureVersion}; @@ -96,6 +97,8 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { }, credit_pools: DriveCreditPoolMethodVersions { epochs: DriveCreditPoolEpochsMethodVersions { + get_epochs_infos: 0, + prove_epochs_infos: 0, get_epoch_fee_multiplier: 0, get_epoch_processing_credits_for_distribution: 0, get_epoch_storage_credits_for_distribution: 0, @@ -125,6 +128,9 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { clear_version_information: 0, change_to_new_version_and_clear_version_information: 0, fetch_versions_with_counter: 0, + fetch_proved_versions_with_counter: 0, + fetch_validator_version_votes: 0, + fetch_proved_validator_version_votes: 0, remove_validators_proposed_app_versions: 0, update_validator_proposed_app_version: 0, }, @@ -241,6 +247,11 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { verify_proof: 0, verify_proof_keep_serialized: 0, }, + system: DriveVerifySystemMethodVersions { + verify_epoch_infos: 0, + verify_upgrade_state: 0, + verify_upgrade_vote_status: 0, + }, }, identity: DriveIdentityMethodVersions { fetch: DriveIdentityFetchMethodVersions { @@ -673,6 +684,23 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { default_current_version: 0, }, }, + system: DriveAbciQuerySystemVersions { + version_upgrade_state: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + version_upgrade_vote_status: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + epoch_infos: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, + }, }, }, dpp: DPPVersion { From f285b024d2d74d7c3f65d6589cb4a4d9f7190b8e Mon Sep 17 00:00:00 2001 From: strophy <32928115+strophy@users.noreply.github.com> Date: Wed, 1 Nov 2023 18:29:39 +1000 Subject: [PATCH 10/22] fix: security advisories in browserify-sign and crypto-js (#1548) --- .pnp.cjs | 28 +++++++---- ...y-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip | Bin 6868 -> 0 bytes ...y-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip | Bin 0 -> 7412 bytes ...pto-js-npm-4.1.1-38a3b8c19d-b3747c12ee.zip | Bin 102976 -> 0 bytes ...pto-js-npm-4.2.0-d6f7744e63-f051666dbc.zip | Bin 0 -> 119707 bytes ...stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip | Bin 0 -> 46438 bytes packages/wallet-lib/package.json | 2 +- yarn.lock | 45 +++++++++++------- 8 files changed, 48 insertions(+), 27 deletions(-) delete mode 100644 .yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip create mode 100644 .yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip delete mode 100644 .yarn/cache/crypto-js-npm-4.1.1-38a3b8c19d-b3747c12ee.zip create mode 100644 .yarn/cache/crypto-js-npm-4.2.0-d6f7744e63-f051666dbc.zip create mode 100644 .yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip diff --git a/.pnp.cjs b/.pnp.cjs index 4f2dc11301..e8870dfdee 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2908,7 +2908,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["chai", "npm:4.3.9"],\ ["chai-as-promised", "virtual:58fb68f2aed20e5e0f2e48520ab903ae9bb3440369bfd5e912034003cf27c5aae368649fc5620dd2acbed578131f3a0975e75b838d77d12335fb0412e24026c6#npm:7.1.1"],\ ["crypto-browserify", "npm:3.12.0"],\ - ["crypto-js", "npm:4.1.1"],\ + ["crypto-js", "npm:4.2.0"],\ ["dirty-chai", "virtual:12a596dc9572e25ce715d3736dc74b317c5ca5cfb3b4f67864b1e76b3a401006f84d381aaf975bb5b4da9cafac5125e6869fc78d5202f4c95780c81479112f32#npm:2.0.1"],\ ["dotenv-safe", "npm:8.2.0"],\ ["eslint", "npm:7.32.0"],\ @@ -6661,10 +6661,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["browserify-sign", [\ - ["npm:4.2.1", {\ - "packageLocation": "./.yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip/node_modules/browserify-sign/",\ + ["npm:4.2.2", {\ + "packageLocation": "./.yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip/node_modules/browserify-sign/",\ "packageDependencies": [\ - ["browserify-sign", "npm:4.2.1"],\ + ["browserify-sign", "npm:4.2.2"],\ ["bn.js", "npm:4.12.0"],\ ["browserify-rsa", "npm:4.1.0"],\ ["create-hash", "npm:1.2.0"],\ @@ -6672,7 +6672,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["elliptic", "npm:6.5.4"],\ ["inherits", "npm:2.0.4"],\ ["parse-asn1", "npm:5.1.6"],\ - ["readable-stream", "npm:3.6.0"],\ + ["readable-stream", "npm:3.6.2"],\ ["safe-buffer", "npm:5.2.1"]\ ],\ "linkType": "HARD"\ @@ -8115,7 +8115,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["crypto-browserify", "npm:3.12.0"],\ ["browserify-cipher", "npm:1.0.1"],\ - ["browserify-sign", "npm:4.2.1"],\ + ["browserify-sign", "npm:4.2.2"],\ ["create-ecdh", "npm:4.0.4"],\ ["create-hash", "npm:1.2.0"],\ ["create-hmac", "npm:1.1.7"],\ @@ -8130,10 +8130,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["crypto-js", [\ - ["npm:4.1.1", {\ - "packageLocation": "./.yarn/cache/crypto-js-npm-4.1.1-38a3b8c19d-b3747c12ee.zip/node_modules/crypto-js/",\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/crypto-js-npm-4.2.0-d6f7744e63-f051666dbc.zip/node_modules/crypto-js/",\ "packageDependencies": [\ - ["crypto-js", "npm:4.1.1"]\ + ["crypto-js", "npm:4.2.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -15806,6 +15806,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["util-deprecate", "npm:1.0.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.6.2", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:3.6.2"],\ + ["inherits", "npm:2.0.4"],\ + ["string_decoder", "npm:1.3.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["readdir-scoped-modules", [\ diff --git a/.yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip b/.yarn/cache/browserify-sign-npm-4.2.1-9a8530ca87-0221f190e3.zip deleted file mode 100644 index 9d443277ef53e7337a5e23e30518929c718421c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6868 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 VF)kbr0Dvxj%IE-q6UmRe{{vYFf~Nog diff --git a/.yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip b/.yarn/cache/browserify-sign-npm-4.2.2-92f50c6d35-b622730c0f.zip new file mode 100644 index 0000000000000000000000000000000000000000..5d27aa66dd8782d6a65653c5a1befaec63e77369 GIT binary patch literal 7412 zcma)>1ymf#*2f1MT!XvA;3NbM79hAw@E{p9cyI_3ENJlH5L|=12MHPo?hFzF4DSAs z-R0#i-`SU~IX&HdPS>w)cip;m>t9N;aPYW*pGBl(9O;jXzy8o~&(=0C!7r?AUOK)4 zJFqMLTzXmh<65EuXe77hTQ{asZ#X)y@} zRS9*azVI1J+_?k1=M@%oiswofFdg)qI03l3;uWurqA0WJ=s$gMyyNOlP3hh zgge6&ipWA+!k89`}4-bt-^U^Pz*>oKkS^W@Dz zGK1i$G;`hNjEaqon{$E{o}b=@@`vmFbi|$kB$;QocRvrh-?@n4D^nW>HVX#^M+Y#a z!)tqUw>Ax^%iGLwpf#;Mw`E}V z&YXLI3&)K+Y4{mquG^3iwll}L=3R`m{fN;IFA5M}H8d+82EnbOr@LG79D7hZaIw(} zC9T+`0uc-`)=@Wups-wn22JSRaGV`t3cyfS)-Ah~pwh2n8MS8cnBy&hUyP0E zE#!2)ap@~aMClL!V$+;XC(@WbX|Jm43Wf$YPkhfaj2O&keLD4O*fkL`wGO5x%JTU0 zNiLiU34PRMGcg$Sh*#z?{mgsc!kx*cm#Tk3IQzS^c0Y85v`wcc*L`uFj|y|#WjSBJ zBqGK*@l6^hPRB~=UQ)O>i?eoq#(Nnj@$^3!1V$LKnPzLV+dz z43LAH{FO>6+$vJB87$5@v!;wy1NtQ6Y?EPN`{rX<$tZ-#L(y;COO~Aa#I+R4G@D5smruPD zHL||gk=ZO#{N0~xQ{Niv-}-UezZsi%eyqyQs-Vuu2I`e#Q?B{G#3ak2BE?p~!r1e? zRGm?Vm1TfMW=ttCD9;iWFG~Y=g&-Dpla3&pJ}wJrnzIIj_jDz)qX@F0q%N{DgoZ53 z+ACKm&I6*4MN$zI+#@*%$LvC483p=3-ka@;vA*y50%>Uh^C0%Q>># zDx>tum9o@SdHOy&=q7LALxdCugc+$aco~?w@mRMiT@&54Bks_?tEiBy@uga|A}NAk zQ(wA1D`o3=t>(Osq50sp8rl4hyM>9Q)W`&mi4T$2D5tCj=umT*WTuQP!*eT!dcTHR zvuI^a1$yG19Br*rcQ3E^gEpGGG~%3trBlfX2&X_zUNaMh5^c-_!xCSN3T^H9Y^kxz zD~hS}CmEd7JkcF$gJLw@Nvoce`Y6;^n*J!n%`!PG5pFrNKU&{fJBlyl*_rojyo8e< zXOy+XwhWKWkpa49?ejq=?Jy3{Cd!N)Xv$vj_nPc_!WsZ%-iR=en|hlNqI>6Jz31TK zErJ2)b7};5FbC1V=m2%i=$U)C<{h)VJCT`UU`HUZy}`)YD8{nnWGF87Z!lCd1^jar zAsuJmbYVOs*&tQk2F|d)0d?{Ef(o8`3Ok$i9@$EQ*|T`8BO5P78JbfUvRNW&EdzLU}f z{umn{H6X`%Q)zN9`7s-bfudDOW2ECG{0)7sZLOpHETL>qXtK9W(LeR@fuF9a7w;R4 zWtr<_&QDpaezrv`*F1rJ;@&l^$ll*dk+QHGCY$&q<}o@csQ`?{k>*qse5Yyjg}$)x zO6iX7NIV6|MgU}8Z;jp(r@M%jFvwjJn^w8O@Tmk}KzSZ{6Ddcn@ImvrtLA{i=8Dx~ za>G;XRc&3WH#cm3SFzwstNOUav}vso^?5=tu$4}xbDGhIDC!5`!M)~2Vbg12;xP%Gg2;2y}z+eZ17@!JP9I1F-J{rhp~qluC=tGX?$EHEnGeB)&vqZI1L-$M~zFydNm&vd(`ly zd?qBQtN6yz*@R!zaO|n(XbNm_cLAzBg=T4KK1UvCdV8}G{~-U-fp3==(NF~k

Xs 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 D&a$~V literal 0 HcmV?d00001 diff --git a/.yarn/cache/crypto-js-npm-4.1.1-38a3b8c19d-b3747c12ee.zip b/.yarn/cache/crypto-js-npm-4.1.1-38a3b8c19d-b3747c12ee.zip deleted file mode 100644 index e392e0d53c1665bb9ccef8090438cddbf4e22b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102976 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 F{~sF0w>tm; diff --git a/.yarn/cache/crypto-js-npm-4.2.0-d6f7744e63-f051666dbc.zip b/.yarn/cache/crypto-js-npm-4.2.0-d6f7744e63-f051666dbc.zip new file mode 100644 index 0000000000000000000000000000000000000000..87d2ed498427c39b806cc44e6d4475dff5abc035 GIT binary patch literal 119707 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%0Acg>5 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

$q!mnS|yXCyM-1^-I|Jd*Fh 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 z�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

X%$7 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%0An6els+4v*mVKzfB5EFrn!FU_!2#Jiv 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%0D~O}enJv_E+U zbGH;O^07Cdt7Ie);`Q*}9v;gE=(Mjp%LM4Okj>fCl4Yy9`~`b8xhhjjdd5P1A-Pnb zw9>|1BiyVh_jtp3)@c_sb;E1Y9zsP~D7*%aA0yq-XK=en|Jx5k%T3t(PeZY3hj>>-z1>pb= z1>pmdaH4XGPnCr?=TXv^>|?i6RsivHj3eWkMgk56nYsi$E;*10Cp%wB5*uP3zKQPN z>e^cA+KRGWI*1^SfMgbc&yHo2!FNfmQpR1Gv-jq)zBdyx!jC!#WW>vs&iAo5KC|4s zP^YZ6aSWu}w-U>~Q#@zMd1famL(*iP?uRGV>;)zsEpyrbAYy-XV{dM#u|%jX6*-gp z{()cUV}#0(`t`B0?8au6B{Tc?E!>s@m^~5VH9CJ?yC~+bv^m^3MEQODBxEJP*j%I+%;%OWD4bB1{hVaGy4DUIilS#EEqUo8qwO`)J}5C)0P z6PMBP)XX3f3BcX7WMFipW>3ZVXtYm&aZr0V@^B+Li{%3KzvJrVYtb#0aOH0LQ1r8`y{&KXqonz-A^-6X}dKG09h2#ku3=CyO`apUE?d^ zFXmggbUYvxGt?m&I=*mOwOLuu&}7Y%K)A*M_WZS&=At!qRC~47@4vv^lK^?Uw|qmD z^py|S_Ki^XJw@>z_L5lF)J_03#zfOaJhkb}+=ag)Xew?$M-GPSBB!$=9!!%h?ws~> zUMhQQ;~fYj4f`;nRIg5v2mAQ$b)))_IBC2%Z1zHhl_6*DN=v1`;wW!xb&EF{Fn&8Z zKQT_9R>;k6ZqFg6?h}?u9AQ{3}PqnZk1~7xAi}Mq$^Ha|Xp(uT3AmbDW9bf8# zibTV)Sbl}d&fylJ=YjiA3oESLbj_+defss-)_kp6Ha=Bw1^f#ROk3K523%YWOl9@& z!;VTnZ8cF@OEDcMS_nlP5Z_-o3A($w6S=FwdGpjKAq@!p1N~$MENVVxT4(D9 z;`g5`*Cd9to&_x^sF%!QL`7zIDjSJf<)T&W_xIAq3Dhn*Y*HRy@fgs6NaV$HYaR`W zJ3dk9*4VjYmZQBi;VI`|RqKwGS?ka=MaN8?0h4a>u!eA;45(XzZFy{AlRa)@s`91X>r=G+ViS7CGg^hC+ zk;J|rjb1)|%6XO)OKWeoEgxXs*Ed01ys{5gfplOFhYXj_5ek>lRON_~)U({`exFYi z?_&oxkr;MeQ;C!?1_Mn@aWE03Mj|=;JY!s(#m%oFMl1`QODY{dR8^5WROL*WV6K;x zOJT>2iK$eo#fT0l=<03 zE~4(Xxynya+&8RDM@eP|Z*T=bq$Qz5NW?0mRczbj&p!@{^7Vj~lRs5p@Nlw##u3Fl zusY?7HdTR8DtV()6WMo@BIQz!Q5aC!u6pOT$34w%nxE9D#S$E>1~<-HqYAs^T?r!R zeGWy|+uI-0fRd%i16Sy^VF;eEB{lc1Toe`I(7MPNuBgN8n=$y#XNPQ{y|vtc34Q>a zROVX3)4PSp{dfaME0elg4<+bCufZ>ndD9rtF4SHb#+7W8$;Sn@;mgc zpuUXi`7ZHSWeIShDfJBU^vAqaO&neIb;cbESYq@b@3E%!)z#dfgJVEi z)^=uR1CNceG7FPV8rvVVQq1=jzrN6ajwCO4l?8Zy4B+`c3T^3{Y8(ET{w*#1WMBH; z@rUm-4|5MYq|rB7D`}UYg#tawx7M|aB)*IcpO(z&W;jEE!(t#x$wc<67_EMn?NBFH zBtY9KDTM9fcU&u?ED(~-dJ{*kwo!^EBOTOTCE^;eC@y9^EK4JYR=1i;)*j1k`gA{Q z(lCvcAi{yQOIuw)FLiBAZv6C^V6NSVE%R83H9`V|Tz(YRLI^3mmE? zpp8~&Quq3(7a2_Pqm8oW-9&8#O6biRi-n;-K)-JH^&u$R2h2TDP7!`ti6X#LA`3@d zCzXvOH~!lO^>_GO%Xb4>%(s$wE5rV{-M(t&jOu2%shS(6-?%j4o8HY%C3U?Sn(s)0 zTw}!zZC=Hs#ze4GMoHVqV2uWmdkmnE+`w!S7323rQWD65KAP?oCE=wwe;yz$gs#dw`&DxePIwF+jx5P1~W*1*@$RM|v+`Y_cq*LdP z(mmQ(XM3>M4%z2lIkZDt$f)~+kTsgTOJQ!EH-&m_<>q#JcJivYrnRT0Y%@INpmgaw zY<bPEgmNv zoVLq%1;4%{=kn{T^aq#WRpLpPJd#{t6wc@|*`+ zbp`u2J#$)GI+jY7(f1pcKyq6Bq}1=H z6{Qp?v{Tp*^O>tQ_Kb{X*B@L!kH$pi>#;7)hzc?uQx9_7h@Syvg0h#UmeXpk%4J}= zREBzym?ti(HYJ{2FGy*;h!H4KLf7me=LuEP`QG-crv{Vqe9 z-FJnAf(}ilg@YtIDv6AgiNlFt?2>@wvctRd)`d>#K6uP`*EI$vz%0Vw@obI&f9q$b zT)>Xt8SrZIlLGgdu+fLJaMZwdjtYIXK^ijA;N zo#DJ{6_FHSsfODOLTGP7*{eWWiH5>Ptjmd58Sr^I^_ariPfL2>R*upVSX5FktuAlx z7mU8)Qh7nNLz?+`fJ6mAu5AR<;DDineMC4FmCoyo6nEQ(*_;Y6494`RRU%} zW6tPF=t4q7_i^M96Emq)N)@YJ$TIf&64cOn| zzhg(e`IL#S!-oYFC)6E}d>k*aMt`2=Q=BO|xi0nzLuL^zn@GfyRofVBD`0sQ%5#rv zd1vX7r$jPy#EVw}&mjf5@Df$pvu)5@{^r6$2Nwgwc=PE{O*G((W37C9TUVH1ed5GM zaj8d-%EzVIBh7&D=Npt`O;wbG#CAey9K;I6BjPSmo*OHjj&#w9q897K*Aq7kUPnV$ zWFX*Z7{V6e{&7{~c61?pg|9V>v~vWQY{c zX9JF0u>IT`bVRh_D)H{Es;1S{PfYTro-I;q4 zsZHoHUHjgKrPs=AZDQ57^%9N)W8&9`teh z?jtERYnvJs+l9eDAQ?5MnHpgn8;4x2lO>07b{LVXI1>APq82Ts$E`CiazgC?j6yHg zof=S#-k`KCQz6G|0_(^i)7T#>uCh<hq0^c}z7Bx|fOAQZw|9vwgB) zV%5lX9?t#ZThG-8$omWdYFD|X1+OTUjk>f3^dQd+<5&EBglSQb&+}_nEmMhxHY$t5 z?6lZM=YmX}eQ-+Mg)3P7pBF8TF_-4t*}t9~k0d?-Hmbqlm?S$aG3mUJg{akVjFbz> z^K$t|=57jeb+-l0jA5j@*Sl8*a>mmgq6>DU1X?I|vnB5i9RFHA3afCe+IJ9f>vmm6c>ytkv zNhEwB+Iu*@damBnbhh*HZ>6CFwcS3TAHS@dFx=IThV=?jK5@(4h|ox37%va9oGDBXOtV0u#wxz>0X z_6~VNq25MzW+fCUfIH={KxroHFJ|6FH@aXH0a4seH?V)8VrBa&A--hL-_0W<)v+|1 zgpcdN%w%m|9Zy+@{sft=1@G${i0s1mczvPa;^8HBq%y`jrdwVD7X7b)LU%&_K_wvK zgGf{G?(3gVYHl0H!r#@#Z6Saf%6BM<9meQLRPv3k+(Yl_*A%NM1~8dQ?Fc2u+YdUE z(5I}AZkMXg1Ut`&Knk*~KO;g$8atAi6ja`MM5{+3@3y7rd=zE!MTDe47@vywDVkkg2DLcoE~RLNq~WUGKqVRE5djoxuoQ~TKwGr@T|g-90o;Hp*7xP2}j(aV?bS? z(Tb+By|dfJ#pd<>9c4%&qk)M(lK&Wz}-vGpiV>zBlewhYbpbY*lNomP@gE9HvQ zb@o=y3N0Q*C~&=vuH|q$1>Nl$AcN{KH#PO){B0^_OQu^Na|;J4RF~P7bIHB| zPb_-bgXAR8<16fqa{wv2J>z?jzdipN5-EaQ&NTy`ooH-~!|@INItzwx^jp3gbP}Xt zLX<@52?!@v{YkdDPqi*FE0xwChYLxaW0%lll3%OJvnPd!xpU4id=a>=o6!r+2N7)qOX2yE z5A8jW3nn<>uqtz;Dn76Kx62SqU)&2sdXd|SRg&DDm&o=yYp0xJM2d5t3dCRKd+N zO6@pv8MJ;OczomE2MGt4^y;l6c3>jCSL$A-HM|5;Ml}Kf$!P?2MV>Wi+JlrG$Olhz zFb#fT5(c1yI`?_l3#!^QCg%}X63Fy>Gif6nxkv2G&43dhFE|9P=a0>&F1cx-bV9Il4Dl|4Rq5%_ne6P@mIE{9p4jpD&bE)>c&%B?~bAAxxzbca%5c*c{&H{Hc5t?LlPQB!?lUFxUj>bz$=(} zA%w53N-1?k#ihm>C^R=?ESh;h%7%UVk-*YFKY|->q71nrq63AgRs!v=^myAgT&@s7 zcM$}~K_nWest{?YKG}y2ljG=x8`!3(_J3vvsfNUR3q~U)CJCV~m6Yf$;P12I56jgJ z>&YykVjfqsD4{-<`p83%)&2nrhe<)xlSiijT6uWFII{r^G~ByNqFAv6Pm~#~2+hU_ zn^2o{AGY}f6@>lO4pwc79@8OdLo_5(er+6m>ARW*BG!V9z>ZGWgoqe1zjcBjLBvSk zLk16=_c=y2^+5b{P=N&^If)$%pF{b&0J%^zHzvCU9irOq%f6<8u5WXK0N}{vw&0UblfElYAt*qTTad)B zt&JRw9l;Q2G-p!6-kQ7#W(Ro{uZ(vm&p|N5nccOO-K%Of+xI~T1I}8i>NRrcYSvhw z5)@C6b`IEM)?wVMXD)|pxJ!GGgB~I=F)?t12^hSb()#dWA`F;`jm3V4Z8G>?>M z^(|YwyVn87qbC+)#0Pi+xL7oiUUp2Xj(1qwrs0EW{Ji=g$EI!}?gqf-aJX9xLZlU4 zWHK7~A36vC2_HS~l0COxQ{LTH8++D$BAURXKyx&BD~G4@rCg(hdoN9c`T7kV`bKfz z7yLIPqYk5I5EnY=?%%nbXW#NJVsabT zAY%KIrWKI2OB5 zA-|zR6+%v(M>^^8aeI7WRKponJb09S>WLf563jGGYZo!I<5hWA#VT5W5Gb| z;>}E4!b-bl^~@TUH{^NE5JlahE|1qhE|GlLF&vhX0&EeT5PML2%xUS6JCZ=-aV2eF zboCm#m~meVazDf=0^Am%+xklK2h`WFtve7=-P6ztZ~Nnl6|InV)myD^Fl~GosK4c; zTGc1CaC|*I?wod)T@(8rFn~mM&Ddzw&!XB6!M4e?Qwif|l_51@7e^Hn$$`!_|Jh&T zO}Pgl$UKFO*g^%zW<}&zCBly658+BPLZZWYRJiXmKud&j7f@{;r*k>DykimZ0aUYDR>VHQbQ#Ky(F5m||0Kz*`QPM@FL?d#&6 z_!i8KhXiUyg-WGelD^-?%kQhaR>#`PE1Kc4b_HNomC{-LBCb1OxuF{wplqP)!%nET zJK8PFwbO(Eecn5cJ*uafFrTz5Q|4}0UpqCbSaA`7J6206sK}~icx0b@xOIN`HeVQM z9eIZoThum%lx%5|^`L-#;2S}H6Dd5IcOI$IO^`!bDUTXGfcBxVByfsYh1K=u>Fb4! zHF((|92eex_M)m`voU4^8b6H=^GFeePBO3RaUjX-I@E^EjnkacjTO!5{1fbF8+34O zy7MXf%ECOlnA_+~JAEG7NMHU$M+w%VE?^Lp^kSHWdT)t~+iyj{Z-aR}BIaX7=9HUX z<(YcFmuGM!>0e?>1{G}8* zwa%dc80eU1b8bK-%T0(CL0okk3A21?HxjS=a2>jyR|5FF0*4ON1J-L1;ak%pr&ys= zsD=;FrKhAQKXN{N3;!ykvWiXO(D;W?N<0fn-qKsq#0Uam#Kb9c)H|op3!Ez)up~pu zV1iI6dJpV&_mJ!%ie7*A&+v**d=HVpB0zhG@cYdl!(xP;G1Z78*$&_XpET;r(LFMg z&9oc?k9+bwh20mk;B$sdfJWO1M@Az5vITg%^W6; z++K#8#!X71rck=G1Ru)I8H1$jOSI|^ephRCio~81c|;htgE5^Y#|?`V@jl`8=Kegv zsH#xBa#+(;s!_a#U1MZAU8O1=QoAhL^F*H!#gZ8suZ@|fjb)y#Ya5n6!3F`rBI0k( z4#9+4aB?eL6?%nqj!y(`0dusy@?KNz4~h`1_C1AV&R6w+*Y&`@uY%1F&f?`I_3pHeTl1_`VnH&fwr zwlfdWKwFeVf_3&u&pMrqGdOF{8!l^lj1u-zFuYk8c6TXumoq_Zgd!3**#AK1f-xyb z8;6uTa2wtv8jP8{GCF7H*Im_GR=4D5;>o;P!>gi@k#x*ix#e4AUS(YjcgZ+NRN$Y% z_Ggm5xYK zx1l$ITeJvK4xc(*GS8no>nt{*--lr2gYr+tb@*%KM#==}3}~uxwpq6ft-i#; z`4S|8P6K}N6>5!q>Apm6E$Kke1=skA{-%ff_lQA>hUW1v29da3a#*1?+}cSD>05o6 zXuXAubKXM}69O!;?W@?-7#(WD6g=rbaEN;2lNs=ut>Z%8KJ4H0rH%@rzJ(3eLX z#+f~cW7#C)634hTw|n_)8kM3Pf~B{h@F(rP^%<0lguwY`eO(sH{ZzRnC@Z8Qvv+f1 zp)bRhgg}A#+E>{L$eL-nr2i5nQQ3*YVd#~pPuXYrH((lFD)D67-FYrGp*5V5;?%n?e>~-~(}@UUKhHjU$>SUQ*1UAq9KX-P?;c(0u2_$iiXRhQotVB z3L}4Jt)}d!!tzNMiiAL?{g}RuFaa${!47bKN4j#F-_`2!sr-A7_HNC%1rg%zUx z&#gs6DWyla)VCvpwfJ<6^C@u)fx)BrcgK!rR&SmwpVU$xPy2aX-g>-`vB+o*b+@st zQC!+$a$L)IYd+&}OHfuQH-D=zcX(HVmu73?xZETJf$X=Qu6UDwTK7k4F`dSgA>?9sm5E>N^7Zw#HZlT>hQF8 z^7DfRK4GmXu!3=j8~7#h@}(48}; zB$w(0?eqx80wtyZ(<_2hu!3rpf{m}j^0|%-i3Zd&&vlQ$8=Y&`SdU{P&kA8B#sf$H>hFDK9*zE7k-mUI4u+UP|&=@-;LK$6R`&AWrDSm0X(+n z8jv$8lmIG6DeA`T`b{Jh@2+RZkEuEzzw8a+2TDIyKP&J^S0=(wacTN2&berm59GsF z-q=jJl9YaL~h1J!zpEh zpT0kTo8yf;_uRb}-w7>6#9C=~qK>O|K8p%YgPl%Mbps=)@@JkkA-crmRAU*s5;eVAlf3jo&DXD(L(*Dn(#Fwa6 zEZB_zd?28Yvj2^<`-$=e$m{(ErDJC4U|?)x1bFTKlGi0wXaWuJdbKSO5b0kqz-Nw^ zB*0m};prM%8R=X970CAziSBE&*bdm=d#Co&a|yh^NB%b`@Fj~3javOT!HB`p9TCIH+&YprJxl)UNjNhlxf26N&z!0X}oQzCQjNko_0DMQyxl8^CQz0vJf}4<7QPztt`$WM0jc945 zZ((Eet9Ik+p9K$SbwGLl<3(ri-%^dtwRLID^;mvUZ{j&gc!0Zr8ve)1Vu(NU{$DB2 zmtE$ra_0Jnm4yK6KO4^}EBKO zT@9%Ge~>yb|Bn2R?7>T1?Y*9|EDem@W6jcj+X_(ACbSP@guOk zC?%jD`T|1D0kh!WCC7^z^|vfz3%y^Cij*tfn!5m44d7)KAYb_3CC4iY{kJePV;x#s zCo6qDZEI_7ryqF(Ue?ztxIYXEfE)x26u5swe~e_USii;oy8A85^4etrEEELbi2i{B zCi*=J@FtE{*FfhNrjZ%iA4C8~ZG1qAbgF;wHc0-3XKPJsXr`@au5IxPE?o2ziv+;V zW`Ky;KkaOw_*d>Pc(=>b(oTRD=mxO$pF9ETKlAi;e^u}3k2@aZ0Q(sK$G%6JKl3bq z>BokIi*+Ob?*h=Qe}vZkRdT#^-u#wlrL9M+ZDC{V_?Gckoten!j`JK)XN~`1)-(K( zX>4Q3K+nMVt4WprG*+zEj@@t<}cG5s6!E!$hRU(NjA#Z+}&|Jk=) z+5ZT1*0=tHozkhW=`#T2C}6Qi@Yh`jeCBv%ar_>u16Wir{=&#dp-)m=fE5J?_DfgR z@cx!&t*xVDY)fmVZ>X*7^b06`jug;5V0c6aK>ukXi|D^Ve?jYRl@s^?sPF~g8SI~f znWXgZX}Z6fT3%{^|K+|MuQ@>E@NXV9{mxXs7X8;BQtCFIBvLvZ{3d#QOE( z;iW**Pg<_QA8Ef_H@p3G7c=q4S?;zg{T3 z%-QpkCKmKt+W(uu=jBZN@=)4OU_zXZOF`2Go$%=svzOB89tBt8MgW~@(74Sc&I++@p7#i7_ z(mA{Q7ux>cr6531|6`YCki({X5Fj8TXdocc|F2S6DG@PwWwC1&Ir{@fr0!4k7|v^H z{3!2Jc;I$^OI4*Bu`ZnANOvWgy)A)>!Ny zOT$~<^Gh(#W`Vsi~&21`fg3`WE`~_bi`=I;T(p=^i zrXLHDdOO0j8ILBO!TwbdR$B;fd$=|}R^4kv^5C<4{24|Z0>-{;BU?xwynON6`>8n= zHz?FC{+=a#F$6jo_}T`x1EI^T#d)}fxS`h8ZsB_?L-*{i`fy>d{J5DRT&k)eSyhIcaO&YcJdmI4xXy zbP;1hV`?vP^qegk;q{=%D-%g&A?5n2*-Ry~;%4}EU;ubfDD8~+DTr7W~XZdy$v zA7(jH*mnI5nF>P^Z5ix8b!>XeJg+uN^yzVk^o2{&U{-x^JIj}Ym=G5c0FowHBw4+!BQMz>nvP!yOh&m+|HHbDW zoBn>{?u5?8XbfEmJ(RO1^L|lIiBn50JkCG2un-rHSC)hpDb@swU|sZR;frRFKH8kg-u{_Z zE5n>&+3QyUx3~YY*>5<#oy>iXn}7%Jn&ap-bc9ZOUzXyJ!nO&rEVFdOJ@^~GCvQHq zboHw)tzExYt1dbI*Jva9|ALH-rP2R{IJiPAnE(hNAOJED5cB_^a{d1cxcVlp4mPG9 z^j6N>>bv%bqDX$T`b=A(Qhmj|`jko8ZI~if5-l=Zxkwvpmu3~lklw!Seb4@<*}6PZ z-m8!y9zYdJ7weh!<~{EXotT)cRc_&0+xD#AiU5-ez{8}AaN$(>0N#`vZ@JPeGJue$D%x@$v;;NFZ~4;*!P7b(w6Gg1J6y=ez`m)*Xsn9EUDlKo+;N{UwEboJ{ zme{_+&sO##4adkUP58~13Gxm(SnL>lQY)HXGHzE1!MDLp!s{dT!$C&DK*U$}^1>_O zOYr)G+YO}s8BD2A#@s^hJ?b8L!FrR(V>gzEjqjmY6FBKjYVT8WD}wH)6p%>=M6C=B zhxFI_^+K$LD{jreS}>|JA*7!Jz>ws21U3np-K?IF^p?U$xyvD4rm4U?nz1mWJ14ZN zHSyOhagJDLh7YQa_w7`Vj;|B9Fq=;IcLZ%^tJ`tcV}ub*(S((U;1(kf`5icBESJm= zi&3D7QIgn)8;V2P!0OF#nMdFS&xu69%&E5MZiL7TQ@o%*&~i_c(Co)DC_l&^qBFKT zS;Bc%7lhvI)A@TmKo#8dx;B9T3Z8g4?eev?Wj?_jq#HS_#2Su(wQ_8zqu#WwZa(R4 z&#C}RjN&{T3!EX_soau8v1hYo4(9G(6^-us;0zqFEV+j8ZbL~91{QT`Q=Hat!K#SB zvPEP0X8Yx6EUhJl)qK9AQqhc7jHCOL72}WtA&+L5vgqfsd-E1LaVqb>p5F_jJG~_= zpREjm2@#QWw5<4XP=DXA2zmNx#X{tNBTuIR5pwv|51sm@NJnQCe<+UaShA{_)|;oz zLVic8)nsBD3@}QAN2z$6@29eXAv9n|k0Eblb`0&5SlIktzyx(BcePa~=N+8xtELy~ ze2v14tG1i&Jg@nkt9^BD-tprk-1JY|D3&MtMWn41O?2rsnoJjx9(x-#KS**&G_ zBe&+67<`kC-=KYO3x2NA1a>uFU^I6w;lcF%Z8KZ@v?D=@g6V0xz3r6*i=A+M4ZHdG zdz(6XW6n#^`+P3cddJ4%gGc)tplBz`H!?FVbD44DWznk|nZ#l>t=L8n`7cYh1X|6W z@^+xr>wz85e7?^%VJ~Sjp=QQ}(LCEk6m*hmwYjc&y$>!>=a1IL)6>&aq6-s^qusUY z56&q{KaFkqSor9=Og^U8le=B-LK9~CxMN{>K?OUVcB3Hq3sT8h$?V|YM)7+9q=@1XpdbglEA;=C zqV|aMh3XDtr^Wf=A6}4BWItkcUO?FUXIE9R&zgS!l1BD?Jv43gZ-nvT{DPjOnU#Jk zOjhBpNw~c+o&*M(tLKZR02v{&B=2UwE-%U4P9F>A<7J07yq*)K3Oi&s4ov#fo`Z7@Df zh0k#~X50+ERbihlP9bmsSudyVW`;%at^o#*KQ+uMLC(Wzhfn*>&R8q+H#aisT0lrhZ_LUwaf!x#Q#mZO1>tSpx3whEDEBs9yPh< zCHL8XQ2IBD8uPc>BVapSM^I#}p|i7#g_FIjxy65^W~(wEcfpS2drDLK z2_i|=g}EJ0n=x!Fsfcpp_P18}0BM)p&5B3n&$9n*%pm<%<$`o|ZYIkq-t3eUwDq=r zEH4Lw-?Dmv4vUs2c**E73ms5tv*G^j)8Tw ziAd^z4JhD_utusWO|U&yBfSF55u+gfc46v@8AT+ONK(o*wg?l~Yx+>+JQ2ehdeguJ z#dD{#1jGGu6FO}}!!R`HJ*rMJzG>eIX*4>?&;SsA{(i9zaYTfeddgDL44~i%xAFw& zejm|)jmfRtA$#8qAv_u>!Zx61E@ajp=z97BIa-$40S45T60LVT3%*onWQF-9>;__+ zC=sH-dQZ7U@dd(snU_#DE>r5gtR0_!P&QN%#SIPj7pY@k-V1ld&d*NF6l*rs^v4{0 zCZv;CKPRt=oJDEnKXg4zjaewK6Q0My@Jo6HUapgEVNx7XI3UHu6fHdO31^T{FYC!j zdnD>&>pu183E)$2u}sF<{o$1%c!Nc*#)(D-Z4sD}C*YbwnL10lea)3Ug z%*Wge(cXjhkxh%S8+0hbTT^!suTKu(y+DDlA+ zOt^t#?*s%;B6qR|qcPjqwi;MOI^yr~_tDUy7;}fBog-)aTR`%Wl-yo^oakz4YuxH@ z{2Hg5MT>6=;o60RI}K|*OB`G`nA+BheB@2;hP4h%3tR;bhj15&oUl0>Imh^;?ezjO zI@-xpaSSm{0=jbKoc$s+7zYeivatGl0b37=n^q5c8R1s?4%S~>k|bt}!w;JppV^;p zyt#Gce|Jj;bSZOlXUq`;`T=mkmqPE~j~Y&;-U9f}Z{8q;)*0Wdk4+Tlv5HiRKO%2F zaVdBR0+f#L`Z?$WJ{YHsDDX$9#jx8#l%`2fDW9eFS57pF3p1Q|k z*Z@9nh~NJj2%Drv*#}v&lAuzr9(8xI991tawJKrj)Vd`j0H(WFbtRs`&9WLMnakLz zYL1DNTbU79bAXh=p%r|>gpca=f$$>ULE{vr6dd6)v;GophM~@WLKW$93C;i-a^E5D z`ICpJ2%T$AB`IitR;IdDy2@o&txAE6#uP|@Ou;;HO*$hgn6XyzIC-KY63Bj;Xqzjv zO#gb^GPyoE&6oP(N6Ry>+{80hKW%bS1Nf|rPtP2-TL?JcB&_NMs~90PZ2-pgiKMMV zJ{@tZut5wHj&JJ>$9@u!ZdJ#afq~q18drWi#J3y+wGT0r*0E*QEz*8{>LggYT2D%B z7kI=y?{BrGsVtnPUVpVGdmEK@>-s~b&S-s1I|keZSrACd=*|I5j+7>_6lp!dW>>yr zb~HPf>!(?v9lic;k3e@``FU(dN6**hlZ{g;{@^MWJO4lF zb<5|&3>W@#3^OBE50A^wM<)8%$&A8uZ- z4)zR|vVrWmTR^;5-)>Id7x27X-;Q4V-QT9wdJ6UoK#gAT4hqZ5=g-$q%bkyl)~?St z9~Td1AjzDdW0;H4tE-H2N7qLO>_LIZYr`d3U+_O_9QN|FvzC2}?)5R3xH-pFlU4e) zWdhyps`m7=v*dSoqtH{gPos~}@eozsu72FUG9j*RA1_a3(5_uzf~!kPCvQK~A^36( z`N`bAt~}jcf?r)7U2WZA0;Ba?m)d92Z~djWWgN*3+}(LQgid<;`aJ-eA$pe%QqH+& zqk#aV$9)JP)HmF~?#|3M>|8ndS>P@Bm)A`R2??hpRJZo$@BH>I@6VyItCfyo-@2O2m7Om!}$(dwSLs&m$==0h@Bbzxbbz#<#= z&ywGM#RefTaaBniiI(~Z6;de|SG8IM1l#U)4c-?Vss)F!0^etvAhK;^2Tz((3^MQT zj293w27cA*GzPEu8C-n8w0AUmzoxofplAMEbWt9NHI^q1`L_!`2Q^>q>P= zvJ8+Hbtl6zWblE|bdS0cBA$l0AlW*utVN>?%eSvZW7%T@Kl?9+P;C%!8@=Yuw(i-F zT4B+yxxO$jA^M_K#JgkKYmkVNN*()Q?_aI8Gg4H0=X_JpKj3*0cn*OwFbUy%-YqT_ zr_bA+)KcHq<@@$qf}4A9l$sR<)}Lhp?QzK8(vLiO2yWj` zf{fn3K*+hEngW9Hvf3=XKz4F>%)1I4n@@o=3kxneQk#(RK#T$X7I0Oai_5r3&bRwQ z_w4liLJFXyRz0wzZ}zZ?;S&bMXPNXcbJ2VGb24}aPQHBqU2Axa{q?J-kFxb^26a?> zq%aiMX69~tyE=+8dvo<$yPYX{{ayK5bJV@bTte<_98P;7YMs1k!K-OS;v@@@`Bmuh zPFrK~TY9@4S^eFtMEV&s+8qSBnlePEL-PyXpHICK&n^>m@^u^7B{4;j06LmVujq|Y zY6fRnT~;C!6*kk16GGW#N{7yvsmt9TEI&PGJzh|V%Jvt3hCe>v5= zmP`{3NMZi^)`XT(a~$U11ZMVo3c|>azR1zk3F~z{i-1Y0a#z*;j`aKtkl}ogPIHHV zV`8!@a?lNx3lK`Af9OjL{rg;cip%ZxJ;msG8~sH zJ_DD*Q?N34N@m>0u|1CwE4Yb*lP1Kc+0n%9c;3g>fFYm(Vj*y&*b+TNBuFwJA_Njfyk%e<0*}r$7ILpNAQ#&f>+*knf3o?oUAVF=fr<^qfpmV(1)juJ3fte}P$t5g2 z=|5h?&NnXSrEL)`|LzmWD8}+-x?=;gt@3-@{tbS8JIxLF3hjM0&-@9SZUJP>wv}<4v36em1_d6z(*%6d{t+@g?K= zj`F90?3FuR8#SuH8WQXs-51a>8H-Bdkx;8hHAn{A#%R8k_{`m4ij!zF4d%R&2k8a$ zK;mnm@CJp$ia8itXWJGf)8pakSKx;$Dj47!mNnLkxEN(%wcxv&tkk?RQ3&TUWPwKOkGtOI65>J)tuU;~DnMeW;Y|d0%2jm= zuR!(am=gshrbfgez@3e$O}$Plx3$d-}2hw%hxgfQkJBya!~x z#siY3#TihIAdR11fP&*xaZq7U6C|a(DNcrkVIZjl4L|^ONrhmVB--Rn69HwkA^ipQ zw5y)E^ofkC_ZUM(AgqCzj~Ngiv~__$f(A)~A!HMV64*4pqKJK}^Z7$$5ep>2WGX24 zJ_B2DVQ$s|Fe-I!8y56!sKz15`yx6iBF5Oa(}u$$m5}A0R|g>(ZdXJL=Nd;cP0E7H z0}(AR5G)hkySQi7d|;op+WB^#!BKy5-R7XF3ML^C?67)^{}C6Av7%uI7x#)^$krWj z*Iez0|K#ZZQJ|6THm3vwiArf828OG)skKZt=<*1CVg+I*C?{&XpmSh(pd83URD<>s zfPAqTaZTmX-Dc9bZO3+jM}gBg*Rk#-CbkJOCSXOJtupErV<}Pjn-s%|bml`Uj3K70 z7J&9lE)>$L%e1(K9S{sxJ==;Fosk)>UdR8WR1?zKd{+I+hXRo_mNz?{Rn;Vtxu~)o96r&B^ z9sg0YKdGlUn+A?VEMnRpC0b{Q#yS~7LllTuhnFbXrn2!Aw~cs(meE8eiY@ph-(jay4*{6GmNfhq}X`H90a5 z{S z><`F~=N6=yC8se3>1WG&UWIffyvT@nu^_#YnkI?cydL_y8s_qjmvZ02Y!zPF{ujO% zG~T&;RXQpnSizfVHhHvYN@xub^9>w4uLSDnp`Z9>5#cd?{}{-IoEs}p4%sHR>8)52 zTNe4NY)|EV_E0BCm*#>J1zR_eFR`QD{Bq@bA)GcQ= za|Zku8|n9UOb|{qyBi`toR{@KF8=9KqK7}Cl=n(Vd6bgLy}>z~mlI5#ah7c9CK$#* zvxmcFx;g=PQykiYpS)7ZRsv=PDvjPFSB@PV-3Hl4%mY5q)d)r4P$?LcQwZhta<*|x zpy9b>XL0x}TivztFP`oktK*@BF2KANOy)UsCvUG22i$1-F)VKT0WhDL(CNpV8lLUV zyMLe$>IV`X!7G`LCXI zIPBmfCFr>ga&b(X2(mVpP5^_z>gEQRVXDSGr8mn_c7km3ze(3LR|>*|QG^%gnezbN zWN}lB(MFFw$yLW0dZ+f+J0Q!gH2N10J@?z4tqXioHi%j-XCYC zVwVN5QtbEOFtBm`@HyZ8++4yn!_$0NO9tgWyJ_Vp^O)8D8o+zRL*jQKK6jFT2=^qn zNXDxx_oLy30Rb^R%r36&%qk&BN32?vm)s5CLI)@PLsHzr_lE7MJb$Ok5pBz*`SFNx zR_l=q&??{R{IB+8ez7r}R(KM|r8;59|z zG@9#LJ(4BU>}~MV#KLA(go!vqdx}moBbJX|M0;FpWAo%{%mL2N3qnL@&oY)Nvo3${ zSujNl1D9K(qkq8hWk6$CPwa2ov6as=M%glo6@pnQYdN|_P4YPcz>-oDfvrE?g6kHT znKpwRZjvoP1t}xi7&;r{f#diy$d>ShjlRw)W5Yz1qK57!ED5=9CIDLb^${fzBX-gK-Pk^O()(V1+Ci$8njLKM9ysdqOb+L&D`-M~D z5Y6BiYcx&v892K8M-2|UznVap<_hA-j#C}MAa}E*Apgok%G_JAx zn&1&)Zr{I6e5BpxsYmyQ3+Wk!ZD!ag==!3ihpB=#olR`1V3gjK5*n|uRpL&ycx6*u zK}WTfpQ7k8wz;L6aqJ@3e7jdzzh;bNNgvsTF~}eR5<3G#ze?Cqe2np8m4`+a-N|NP z+&+Qs)yv7)aILr7M!18?Vfew1GeKm}EHDKi6emce(nN}O`d?2ZWZ>O=-<~fg-`XY% z`aj=Xzo(g$9^4nw`e(XWGShg+<`?0ppd*i;TY7oA2!Z1x?nUW@c+okT5cM(c$?M0R zo9oAy>(A%I3aBS%l;mKN>5OlYMy?qb4<*F!@LstaCp>O1znRR7u!r-bF;ys1Xz7)` zv@V)XT^U`rSH*IS<*ofd=HrI~zFxGb?~q6lAN!Dfe=f)WYAgJ7KOZsJa{dy<_k7m& z-!jiMqh0qK@%8t~W^S3{nU(6iu#R(j7KM})LSnn27BRwh2nEawyl5;mhq~r$pDQg~ z0k%AQz%a~zbxu25^P{&;R#Wl~LK0e=c8fA@RTy)m3Awwf&))CxoP#?D@EC}B25 zL^n7ZFhdH0i`O)kn?OHpyHqigi^u6a`ZMA}&yDIf8=i-znQItA=b{Ymrmh_box}Yz z;#G`G99x0q>s(GjlFWdjIOrm*?mFf;6KRYVC-F6eww;%`g|#rlGh7#foU=8p#g8~g zkHs}6*5df*!cvV$sMll1$rtbL$~0X}II%TB_-}UXMXdWK6w%@&vxHMYDj$I(7`~1zc2)%IL38hp(Bw$Cr2TtX*pA(1~!Ha|KE_e(2 zr{RMWGQws@|FB)*ksQpMp?GmBd|TI@W;6jCbx#QR|X?TVInBJldoX$J;W3LxboP?iA2mZpVD5_ z=1&{I!WDQz$0kVIVWGerJb_FiF2=|l%KosiT2KUt-Bbx{6mB=<;3Wk~G>2(9olJiG6rQXS`YclvfcB4Zn?h5M zFLA`?OQu$mKds;?&52R};Sn>@E0zi+t80d5NYPlF(PKPOK!>~}^(rAYqna|SZW1PW zFBiz|p8(Y)3hUC%`I4bDbDC4~G z;tacUB#+Mnrwtdet(;Tc62%dSpgJiEFdmtXI%ohv9c2|nJ2L2lr$_T$>qoD|g$q&S z%BEHv3r>1I(qMj4809|vtb0&bL>b2WR@97FxDNBV$mV<2@1u(S~>kF zJRW2@L736ScJ(p#So+kcFBu_A_b4?&Efcp4)lu947M=@qaJlDas``i9&SxfM39~=) zkV&CXU>vQ0mu-iQa@|zpR_kQ$?G(6wKnIkdaM4cqbg*z$ViDYZ31GJi$>pUp%(10% zI#)#`%Py6jrZTH57rg3K6aiG(oqL|_7{@y853FdrGCQ&TXKgHcM+xUTVg1JA4O-U8 z4>9YeX_P;;(OZefsH7DXbRDq>Q4^3)I{&iI`X;|=OX*g$a0`Cvk1duOI1z_!6eJOx z5<-?r{Mli@Rg5=)8@=HQ>=mmUkrtEmr}P51N_j=~ z!01Vn5ZEA_4+sk>!U_8Dy)kB-nS~ve3Ck(3*Qg{%Hmr)9=aXkRjg8ZVIXub+JZ-k2 zX0;JQ?!Kafc5f?s1TH8Fce}S;3P6&{=2zz3%UMiZ4gv4I+rnKRA$jjfW1g7;{VI92 zF|ZWZowRMBtN?j56(AA1l>UZcG}e%K^#_kiO24~3nhJWs9t`R9mf)sPQL|6=@-=*F z$FkhhX|sb3MxZVNz^CIgHC*azScb3i9Gg=`Ab>yWZh67OMmMB`M-P%QEN^}uo6QcQ z<>LV2R}}0}um0lkgVC}MkklZI;VbrLRGn}}X1{&YG%xf9gTO6QZ9GEWWVqw0P_0ToeiFc4%D zWCa|{h@~pL)5B&%z_6fscWa}Cr7tqc0l?xZD~HkVpZ9`8cX%)31e7Feee6Tze%WxQiN<U6f{ugM_6Y^-sTB0O@Yo50xSi;4zpSO=Ml&93C`av#zHFwM&+{7rt|87r z&*arN9o0Qw(8Y@MD_=N@hzS0nyTv)z+hA%wkh?|1)u$IUZ+3IiP}jQqDr>jG#^ZuH zKolCfPR6llwFWrsq_|t^5SB+{X5u;FKGeiD3Zc-C9g=uK%T)*jjZ>w_uc{jh#J+cZ zVx4V0DgUG7)E+8D>XGI^>;Z~Sao{O-h7cw|U0ua`k_<`xgGWI%Os1HN0NB3!XlEKX zDqvP1I4EJDL#($@X0hNJ8~}nCT~TdPudfoLH9zgf2kI1l?E6o`LKO&dt$rA%IXg=^ zk(>}q9V_TyDK(f0Y`>M2n9v8I-*jU?_E{{6({KF+r&%(BYYK9xvJ(z)kgDJweDc>Eu35j4j_DWe8RML+j#%%6A zzO$h!O`ol$9!&H>WvW4@lNMXUuG}(}2lnsx-_FKjKz_#g28;#V)TJ@;hB&|+^G*j> zWuxhETv`WQCcN({va9qzjaD?C@%)0dydhHf8dJITxd;JefxJmk4)T13WCs0(zJ?kPXfIWL~i3(ql4cpB8$5Y? zRoB^)6DbNm=8aio)i&FtDtLb`1dGPUr@cmcHiHTSCE<61&=(pKJfvx^tLl$|bNd~m zfIs%yd1)80{6U+P(895pdphFIUt^HF2GAg#nRB3iKY}X`?wc~*x}^bkiW~q*SqxHp z9|y&6%TQJP@p$jISuEG;>|l)?!4w7d&HG)VXQ)o!m-x&6O-Fp2p!PUEcacWgGD?vo zUtNI9lp@e28#65aLtRD(=x>jTYuI4(m&414(59fcAo+ERhNx#tUs5>s2+zqGoZ zdM;ppu#@-j@6*O3*2AKqApr8rAgksftlxeEf!FQWZisl68e`uS2@;0s=qF0>rn{&& zjs9|}7k+M$)d8Ps0)6b_y54bg@a?BdEJ?kw9cO5LOpzjgvV;D%n;E5AZSOyWfJfXx z(10!jEADijaZbb>X=a3X+tj5|L5+eGNE7V{>kj?QQJizN2aN=|B(+!r^F3x`mjt}D z^o}AQnwnFK1`j+<1X)X;YOS<1y3qxwt(4BI=oa?0d&DO?5-c0BR)PLY4pQOs!}f~1 zP}`M66FgDSaf1+36oel!J+!7_g~PfI1*8J=2VB%w^32wV!!f3|?j(j$aNOJE?x2}+ z1w)|i`)R?5?&PhdRn!15`hJ~=T&F^Q;ov5S%xH$>W4{_ANOC@K^@!=&2M;!cV3!7; z{tH_w;ag*`KD@9KZPLP1vlsAca{aw}fxFunxkHUOwKFPLrB=L6K`%+jnS!DzJBG#K{kHPWPF z5kUahxJg16a+b-_PTp7FF_p~)l-!lN5(N&E2Em??462ZZ^OTz(hi%^T45$wxeC%3T$BwnSfWv?Jx6v)4=jXQ`b5F(&|YoPghy~cWQ8nFqGsg8 zPrB@`C38>?0_YJpde>V?@pO-+0{^)uhFVnz8d)l=YuQ-A}Jn)+jnqIomTd}jD%>ZU8Of`)NnahJu=O%73lX-SypGO(KkarpQ?lF2QeHDha z0D7V3cf%mf{`M~XcxfWX{t2N^{|4lh=EKzOp;-yhU+@CYQAsu2Dbt-&BSBAXB_)ii zR+nf8s!}Rfv}x0cBxya!h;t{`4poBR)k7%NV4~&s!jrq%S5D5aw;P@j?RTR0wOAf! zr_LD&gBwO+GOKoJ(mvEVJUOUk?hKV)FZ0VWCz<(YoWu9pI+RN)OFMxuRL8C3TQ9Ez zyWr>CVh7l+UVh$R54?$j!KW2h4wNd>pmlkC9V+Q*FXC|g0~F_Q#+(pScowB_owFSu zlEFG(0O`H!{S+_kEt0?6^1}LDzp6ABOK*CWZJ6px3E{iCqh@8=L*^tx1EIxsgFWU2 ztL3G5O9u~@=1)ptb*Vwsjv=3R#tZYVDZOaONdek8cqn#}dv#BnPeM8Jv7H*su~%~- z>!X+PK!veg>#&{*g7d?jw;+2Rd{GB^xfHZ|%SQT|IiET#A7+Jmt;?EhIQ!bO*{ioi zPbpQ{Wg%ycsXO|J#ldkP>q#)}8O?(|2>8nE#_a?abAeDVv8o5dJk9lj^C~qh%0gz- zPUc;Lu5%HrXWwYgsIk?f^kh%DSl3ezaz3}hjpOUHsD8mONjOi)obw#w0=BvU)BBzZ zway#Xs8=FMf&Ac4&=LwN)x(QlV9g}LCY@t2Sd3=Nri<5G4m!?);zLcPnEiv2M}PSAIg%bhlv#5$K&z==szx zZigl6Cw32PS2@q4Yo#Jy0!wmqbIr~v=s+;(gPHs`N=1xu6T>*_c!@-OT&2)xxjEJsMTH%|RMq zsd{{A1o#O+a*y9j-&?z)B4x-sw7 zYF;4U;b@#)El$CI{2RURW*}}iT`ELW_JB+)yI%1dluX0KPU0OSMo5p<#l{Vu9g2!y zAIt1pEvJ!zMD?2Z+Xwr3rzb1WH`=2t*(9;lkUk3By&K6Vi;hDM)diT45 ztr&r)`7WZ-lk8U|_HEA2E^z6D_9l6I>r6kB_Cu7t)szcXV$p-Z3{Gj)X{2}W$9@`@ zw~a|3iEdXurVIR)O;>bF5xMOhJ)4aQc#HTp7QZ1X!6(Y{xSOC0zPB=9#wfeij$s1c zxShC;4aqqS0d5Nc2UDeHCiF#>8Cmx7Cglz!GX6dJKQqEf3lzMH@B0k=4i@u|MMfv3 z?jd-=-w8f&_ou1CNBE_ozs?=nC(AQ?_FQoiGzExcZB@sFFBgu7H#)Ib;T)rnU{|%W*yH_9vbjQf{`E_kr3H4Zk&W@c{0~`qglL zmW@|HMBSOk-D5LruO@LUWKo>G6fb9pyWtmZ@7DY)a_g^o?}1}}j^(8mfxqzqqQNAF z={Ke*s^iBFO7<_>hF+7}2ZOX;p)M^IT7pUuvp)C)wx<@ zU_&2{FUGuS%GaB-L_`d0D5?3cvopcA&fWy2Dpw84DKEc`KNo#eYv)~eJ=NGJKF%e(e--{3A51h=5Hn&;J>BcHvyUF6+ z*gy09!3mJSb0(B$fZ==XiTkcOWIBZpUU#k16Flx>5f|Pf^-o{a2xfD$-L!E*P7;Iy z<+!JzKCDu!Ko>Itn(=cI5?x9e45TK~R|oN`8-m2D7-n`#QfQ^doG#yuwxRW_StW63 zPtReoKKw!d-}cP9b7dVhxc_{a1VBJ+|2y_f7binIXES>z+yDHTHJY~0I1(s7wfanM zy5Qx+XY{E)4KoA@AvN8Eioj7be~(Pv17gzvjZHMND8H}X9o}a8NF8sLGso2ZT~FQu z+k82Ht7w{dj>f%|%l$KhXQFyw8ZGh%Xw^#B&UEBtt5r=Ji51dJ4V`#6c?3rNUCSPA zjckpWQ#C@1ygU^zd8c3iuglb{TA8U)?1nunzN%Pryydwwbo3df$mE(yHL8-u#85)v z(eRX-P1G-jwVGjbTBu}1l9g+s#~3JK;0-!t6)lyp$dP@U?VV38qt!-$QtEL*MVj7{ z7pVp&(*h^k0$EX$4^FfaQ#h%J7=c9c&7pfD7#ji^7a3Sp$&H?kEKbdN{ppYE3Dc}K zxxZsWk?7Wj+Y4UBEFDmxGjg@n^2)?Xg1~AWX^FE)MF8wpLL(!llb+oSTWzuoYt<8M zEbAT&+>H3lpUR>jwVXgTa=Ga|I0W?(=nAu4E(v-;CY>zv=`1NmlhS}CVt6i7b)HSz zbvY=uv<*$gQBfFjMBIsE(nvZa6zH!87OqD=wGGIn1GD0jMa1aveVgK-_Ks{hf9P6? z)r)I~xLfb7oNND^Ae z1{OumVbgf-Ia~Ir5|ADf;FBAr86oRoviwMR zHZlV^s*ciNl^A1gf^ThU@-UqKr=t6RuhbSqfG^ZZQ4h{c5Eu68ppDn2x{0n%7BfI6 zHzov0v*(%+uiu^6O@Lq-MK?aoI3auS`{cbJ8vw5g98gb_Y>)0F8m{f5?CXYZwM8H{G+2oe?W%(FhW+#fHL7;SPAnCdVHx5T@MJ$sSc+N zBG0677NFd5i(ykHZCKe^9G5D z=#SAMB_Cr`0Y{%$+fc<6_SRyR`}xX`ptO{#ONBvb4t ztfU_>N48#to76i>?@p#7Fn|{DZWs0*u7j(eqZ5JZbfM>96_laHoy3qqgcWUW2ll6gWN!0o@Gw@ zRB#}N(I`bbPKP!2b5ITJZjd^t;v*zC3)?&i-+;Mk=EZQ)f5l-|_qQN?Z-`!0JvGY} z#ZkG1I7DgKaMVCOTouhsUiUk6ypRalyX_{X@D(Z|U~V5LE5SY+Jh+V@U$>tZ3*0b> z8rcxT3AzwED7iW8F|cwmB-HfsZ3DB<)T5wM_8T!fQhrJu{E zf3=$L@9(8!3Ua1DFI{8=Xu@Lwn zdm)0Rq%%Q@V~2CwVAPMHXxcJ9(MCJg4u87zh(DjSw0sN>98VoD*DFVet|4?sx*Dsv z@xG-351~{f{##&2k9(N-zaPkG8^sUIB#}~gH9J|{SH69ThvP*Q=*Tiza8!!uxflqH zjP;4>8^KarP!Lk+moS|F#QEK1QaJ09;x;X`L*uKMBRWruRduV3TFdI6dFN?eCA~A1 zxiQVnGuS6o5T7uu3TwRdFNuDRR{uNUB`HNcLeXK_Z&E9G6NLZIQiE)XpQeb(2(z=B7qElx7z zp1~2&+!X1Q{JPWq4hFVk(_B^&IGYN|=!(o-EZ@JqQ&TOeeNwC?LJ(6k?ZS;q7tJ*U z&b#dDB*1#3um*xiG%592SJPv~k^=5;Vo?LZ6S73Gp<#s~O+w@H+9>o33)KFepP9=K z&zfRfqNmo)`lN>Lq`D27XqH<*%e-`9KWv2bc&K4aUH4)3hTThwUzuo)vh3o0zf%C@ zU0cF9e~V{vpSlq9lXt`3lUq%u%RUbx)-J8Dzc=p9MvEF0iC*kGVt%B=51osF377Zv zW(_~S9F{`*mqL`sK2vI>0$&A`y3xbd~D4d8wW%y*BnELpenR^6mfo}I?bEBeK zR*^Y9EBFSx#W_M+LPogd?EhrZ1Y4(AFtgR_4Us#u;0P4nzgdJry&|Ir`(_Xgr{gf6 zcQm`8jr(Fr!be3dgS+yeJ;pIJGcz+Y^VlAV(_=i_~js%i|}H#mv*RYCemvNyq(Gd&^X0=3Y}m&0kUBhj#7 zQof0Syz|-~Hccv4o%Rq`2CX2+Wh)9va<=M2AmV6zP9hlPc8=n78WAJmvgb}ES9uQl zB7F&u^7OnoQrSZ7U+yZHhj`KIcN!Uk%c!k>xDgr!vC^F5MVE|wS->i}O76HnJE9*bJtb*WYh7tSR>_+WboO;5oX$L|zka{NG~tfN4S++N#F*mZo)1f(^|X{i(k&vIZz@%Zad%6f7d zb%tJ4EGw@#Oo5Cl+fLz>y5iX0i*7=f=FYZ)lq3xeXsqQw(boW8yrPi4) zxK*(4F9omGBd}?V>n8o${BvX9a4h7*?d`g>@LKa-%{dm7C@>{_s`J&(d4!LLBQt4N z?66Xph=Z;k*8xkJ0Wg_5r=C0ixKiWeJ@v>tt$cuOIrR41 zO%(|9slQy+TKt9ClcoeB>)zB`f%GNYEP4}*6-3+v4?z-uq9^mE1>K487C!BvKp9}B zd&41%M5rJF%zEjcV~W#p^+}AgV(HEEU{;x2@!>x2Jy@mmd89pg4Wc1uJn=SngjjoZ z9_Gl1T{Qu1R zkId7>#_c~GO#Z|AfZxuQOe$&TkzN)Z8@@)x?xNe3d&HIt2Ue$sQW@m#&(GmPn=H|m zWw++f1SsFf9cJQ3dpygYW9D{rbkdWmseg~BrK=AeQ`0PGJh4{ki*H-1%{t~VJDhk1 zlelJ`Ig{kNXcUdyG=H9!MH=?t!YSBdsl*C| z4PIbN@*=GMfdaNrF5IC3DkWmyZJNutPx+PV)~CRsv~RjB0f_D}wjI0&%a>vu4RtD5 zWWWxUM}t5c20fX_lFACfcSz`<1T%|TxMHrhza)m8Xsx-!;7n_=PXv9nUNkaS-$$1y zut=j=heso*b3r{=h+=b3WDCUk)odk0ZDuLmjMiXjf1}Fz)U>SJ2)BphT1i8L4Fe}l z#2Y@1np^~t7O^MDsiXM5f?SJh>mh)$c)NV@BY+iUxUwTVCV;>YiD@+Z3!|_9H0pVH z{qe=0%6P0qDC-Bx0sR8;4-_E;sdNLDm;CNYV_pg6gGik1?JWf88!zszj?R99xIXM_ z<5O#XbgtpeJ%rs~V=d*uoCNZqM0I_H@=SGmGT&P_mfY|2m|DZ@FeK6Rft%Q#pOf}p z&H;=05#8^TTVA{%6ilFZ*4$lL1Ck+|gVtCBV=(sYSRurF-5G|@jzH_-F98BGRtW~? zF;8Nu;p=*@2+UcL0U(evW+)%>kS(Q$H0Rjb5 z!>9~spV8}1{GxCAF;dO2ewRbe)NI42#l&&du*2W_3_F|-tSEAx>vZIoB9jBsm8H2~5E0eg=hG>mTV zAZsZaXCDH?V^??{bdw!za9EBgy@{~4>Y5o-R?pChX z%oacvjK3Q$q;Ot>`^0&SKh}Hs^kgi)%?_wtx9y^u`sjd$|2W$_v2l2j-f=Gwl6NK! zhduFiBtF4mFwP5`{DDi|0E66+kgYG-aDwpiNvx4G?NJ@Pht4*CM$pS?w%9Y7QU^JJ z?=@Jt{h}V3^tO4%4lW6}mWI#=FksXw4u}b4an{}W27Va`&58B2d30_`@1~AZWQSM^ z2?}A?(iup1h;&*<_MZl^6;cJC>Xfbz{lMbx52|+U>0Fjk2)DL&1~|0?|Jpsf4?+_Y(Q{ zNxe!=z;YApqoc0a(km?Y8IvL^JM(*eOsklT-)W}p0B8T2*ZlF1Dn!^53Iva?Z;1;+ z%=a!aa;Es9nNe_lLOF*Fn%@BkK4GH1?+S%pzf7L?fV=iX%E4tiK97uRb+?D$ILFW} zo94oU!dyevd3GdQJ2PQ74|`xWm)&2Z$i9I~<)@E}>*n+Qq2uI#c7Yw&6y5i>C``~d zCLbm{v}et>)l$z~T*$)Jz70>|D}4X{Z7U6od!HE1LM4X}o&c~~JMn&ho`f&Fe8LbJ z#7qX+{#3~yWf0eA{l%Q=ZBjaX6C||8$9jQTZk)1@)=^#S?x0oK6-T~l(?;t2JX^Og zb7?OYXQ_qDd~*lC^32fpf$OA7ENo7w;BRyqs)lgo%H+-QMkCRY2IV2S?K@Dsx(?sL#FIlALaU-3C~S+VJkccX zDZ)GgLn5gGL6@f`6b`#)({zL}*#WZ$9*gl}4v!zl@aNtQ7wsfU*b&2;+id6oOKjwL z2+6L(1BalHbqIY_&W!(|w4p2CN{4K?Ww~)~4il=5b=f03(Ny--W}3oJ94}BNa-mFg zfPywGbTMSHcu4Na%9KHRf$($pqv zP90M2heV^H+OR>8T?!AoU9!KdRB?9%K@*q~*|$E7*f^OXJ1}4sH^0^OmJt-UezmLz zu?27Z7QeAG^FAc}C+i;Y)Br!@TmI4sh#DQAM zAUL+)7fCAYZ`{T?<#31huHi{%Yug>%D}aYv=DSNMcPY|5Q+aZrRan)V=+ zRTL=;6w)CMU=W+g$AB1Ob;&~mmk2?i?Q9V4y#u@q=ud;tIW(CzqmH#MQc-l}%A&OUrP@LG{dLL`lUPt`Ci-+ppnKTa zvd0w>`174}$+e`qi4sZx_y=aHrx|awOu;l9)V^iwFv)4LglV*)cUsok1IV!NK&1)Z z$$=rqyc}Lp%_GcG1TPtrB2y~xU4v4b8OU9rFb*7REWa_CYm|I;VvdVfM(%7{C^t zKG`9D0!30xc`cf@b8}G0edqQ(lw%8=S4!nf;$#qogyp(etqL8;oJcmDJC?RdgaU20 zt0*v?Mv1loPC1wvm~543?f}+!!Zd0|h3T(D|PGV#Vzz#;D6fopP8fLJscPa{bZ z4=1z2;RB#m_m6%notW7-wyCp8zF&}=5wVPJN>n z=GpLzE(`y@@Y!{dh_yWu*|1DN2S?>KPQbURiH73HkSiPFz9ECxV?TjX#Au&u|G)c1TDlDU&a{VN)lA~RFe6q+m zDyd`0e;LVpIkYEPBD1$v>K^J1fXz!ZH8Im$z!(&s?W21U$0Fb4hQ`&Ptd0=|pKJR4 zv`p-?-S8Na<{3ICzdlKDa!*ji7d+{LlBJPXN&;${7E%s{yt<)}SMspZjpY|sB}^(# zie(JSWE{Nxrb!$ppM~azamFL-lGhuE!ygQ8{(-75q%3FqF7NH0VqRd)u&%5{drgLt zZtoZq#VQ|^%xqoCq4>0Z>wRyy;Q%UGd2zIGs7uF>;A%6tfO$J(0P!gz;A?e>ye?xRr%PSR<}wsJ!Vs z4ds1!uOjkb#8i;SvWskCuDAEr00r=}jhTs` zYWW$Z06+LvD3oJin$$)~!7KEVm|r?5wtuE9TKEt4)XRG0(}wOo{lZWME`?B_YYP*! zr{hlFr&1Es+D`|V2^H8c-S;3D+Iqr~V7Pzv%O7hs%wlgdi{+y8|{Nd<&HqeCnyEKd# zGr~=Kc9Ab^eFCvrZW6DkY8l79haxbq3Nj{{L0COCqpC41Ikys1I$||0W5WFVm_AB{_ z6rV!{6Fn%?x_G9d!6Uv560BPLX`k=QVGIR8Bo}=1yg@yT$%s*=p9bg_l9zo3*G7#v z$=%@$qED@C$5D(OrL=KIkOpQ9+vHWG3sYubvA&d|aP8IWomY%>S>wCdK~mQMa8bdg zPGLtT=GLHZq-9Z`)k>=JLv!7EeZk&>)O@TD&Q>&|!%WLX#sO?fg;l!Nt_QP7PW*0+FHkSs+S<{Hgm8zw|P>sjVhy z6SiU~qqiF~Vej1j&m&P9Gqffay`Y+t}|h2Z99`+ zO^7{OENSBDcIqGFzb6-Csb-0<&iN0C`>}_zW+tg_pw*wMDlmB__#u`0dPZ?+*J(?i zXfaLr6RfkNwI1bSifP9e6N0?EA#Nr`YFh^bm?Wb=-{BQ5o(jV7jN;}1*;E>b5y>qn z#Ps`M20l*s4M5d7)>^dF049oG>HJPZ&0kt;(K-J3)%S1RI6@Lz#%mLHmnRB5fCkiK0U z;BDfU_bQP3ady%!rVN`WnFwLcV!2s#<_d7n*3KqV z!TF~!1&afJqw=X>u8q-@jec0XAOQ*y$2*HUp(EQ^K?M4$ZfQSAW48y&GbF76xQKog ztVj`tY&41)Tp;gYQ0*y427Vhi&B^F?d6?tp{QVmAbRv$#7Zffg6ND_d2pv8*FL*Sy z73+Q{qG{=Tp*UiJTMKQ6%R6puKS<|(T@CdlSgJ~e(}vPTnlKAHNzbGxK2Qh;AWU6A z{WHc&Xj=dszs%RAhw<$y8~7QZbRwoL?i@p`t^hAIxbOHKZ7DIzb#^_;WxKw*L!~M< zpMQT-`sj)h!t>5<*fu-JVz6-b!tFj{G&;GOi&Rb>i(1j1t-XKg9Eu-hT36wJjK?J@_AODitgCt&zj|5#U;~mYPuas+5SHCS z&#oxIq|FNFmUCs)u zR2d*@jlb4hMbtW0v=n(nw^4Cj{PnDHH0|8tQsX1^M?&IAt;ljV`o<)xcxL>-ZwlU7 zGI9Kj=w|J>Dy&A-g(u%o$1W`KoDzI5Gi9yNf|^%@a@RYh@PtvHqI0SNO%z_MsF=18 zLi(s!#`UZ{l#*qFg||NiQQEe7Ef6J1R}|a&-Wz8dD_i+<0Is>*)OaWBhQ}-w>t2{~ z1OIn$gXNse4n}cb$=eesSwD%aDy9p=PC`vtZVyO5_7J~u+_!Tco7O-jO21>*Nclb^ zz<$rG;M!w8J4f0ywv=<>P%K-M8sI9b?jQ0vKq0QC!^9Dksc)H=up9P7!1r8|1Y*Z$ zH{N`L-3({-z>!I6bC<8xia!y27k4VZX3Kd=3;-|lelb9Iw)>Q=$%`pN%7d`3&H-?E z$UQTz7w!;D%{n3aPut$-2*zZlH<~Y3tc9Qtt*=e%;y|1IE+KyQY?1k1FSn(d(}+MZ zy%EOMnE7TEy11NxXp2rYMbYWgV|nJO0S4-gUt%mWh!yseXl2YkISJip^~#y|Jh#oTBI|5E@e$lyfo-d9ABH{Vl;- z#K{^^pY2*JmXaZLW*je%m*#}Wh;@m;3ObBBcTz$NcZP_I#YAbbpUckPoy&({Zc9@dSECY) z-&WTale1*8F&l_=l*WY_Oe+a_U=rVwe@bYuId4&U3B63YlwBNqXYt9fN-LUm!}=LC zGVaV? zxRTD5(g2pK_g`7G(UiG) zz}Bj-toMEbdfqZa&IluZl{25@P zg0r>3UWuP`n31VV4;iE|F1+W9C#CdPyvn5s?1qw&0ptR+bRlJQ6&8vFUL|Mrv*Myrt z=TI;Bc^wzuEnn4`iMV?vB50LrxS=lS>n>dPe3pRYQ+lOB?PXth%Jr$V6a4kB8gSga zo=~&!s9hQH=n$92+gT01sVSMTl#2s_O4e!G}y2$Dqbl@^Lx zZfY_k@0oP$iv^vtiLpg)=(x73#(vV*K?h0fp(4=W83J_Kzn^vSxx(=`swYbQ%>oT2 z7BdJh<1yV6D$Blp0pW^izlHb^-Vn2M)BJWUK4t@^$7G6o{C{2F+%45dDD0Vl?`)*} za8uPUC`yTsSd}T(rOwP3XXz&zr1Xq*i@dd%deK6G%vGlT{2i$IDg6e(1F#;+Wr%TS z)N%(#v3?DOcA4qThuFapCxZVmYC;L01pAPJZpqUT3v9OjupwJ~*umh~ zyX0VGoy$&Nm&mg^gmh;}tndAX{BO5W{}gingS|f8|B7tR2Iywt0yMGz|MA}cU$XQ5 zf7khMw%-5g<^P{{s=r~W#n_-hK*VuDK*avH_Vu6ZnYelb&5UgR?bgK2(dFNz*{JrG z<0dCcz_ZaHo){x|72E}jXakg380I;44uUTYSV)?6b}d5{2Ii{VXa98^F&ZsT+ai`W zFH-}dKKauz!Wd215CTCy8^S9#LR4zpmR{HH40qX-=3Ql07b;zAQG+o*)h5s%(o z(xA?0$%cgKEiG04Iuq4%i}hLx|8A6iQYTv633FStv1=AuAH_@bO%ez>TK0L8RH-0N zC-#w&y!N_%MoBbSTgphTe2QG3ZE$bx-zvRi0sUU;8W20;oBeo_Hzc~=TW$9Y< z8h$e|{0e=AR?*+>iH;rn&j?Cptdi{0%Q#Fetf<0`>^k#QSC~X->(^Bl^ zfI%O+vZTeg)mnMF=8H>Hx5__y*H`o8$JFLB6IVu!fjM9q_${DMp0k#Nf0s^b6Q!yL z#0~3pkjiA9O81f^lK)cD-(#D;f|UTeGUe42-d+)Fmt&TT0?(Nvg8*3=TflfUL?V=Z zOSy8!Cuy9zZZ#*7tNeZ54scWV;qyLDkM`1!u0NF3fm*k(YwVnw#qTk5VKX~tcgNPq%SpZ36x%ExOH%MA;4!)#z zC_QQCjsNmwSvjzBGg3@e7BMzAJ}?d97u!@t8un4>Ns^>xikoERt?I^k<}D;K;FuWE z-%y2N|Fh2|I4Ocf{hg>AenweUHv0HTmdCh)t6h~qL5RX_7LQ{5^Kp)mYGJ^+LPb6e zgYIxiv_UHUg$VT!0cGgy%zGH5u~a{ias-fp?ERsEI@&zP5}2%F&*9XySKZ2rfZ&o2 z;)aLW1UW-eC^2@%E3&O;3_0|ri6JRo6PpXg(wy4zCN|+Yfa;BFEb|#?ucMza;uIXg zSEas(qCOLtXtwFh{w zruWkV9DKj%o`i{9sPlLNs_9lKdv=#DVv(bFyhgJCE@g=m!n+dObJ)7m;69j#Duj|w zip2+Z>$ia~Vzb01O{Lt6!A4mJ58+Wq>r7}`=b*B$x0Si}WbZtlw3lwq<7oF;IvYUk z!mYTS3l!|zm=|1KcFojlj@B7>z4SSW+n?P6uCxg~NG(_s?4Q=n2%`%qN+>M!!fJLS zyUmhKrUxgXiJ01=9uq`TrJQBnMFCIW8VEMymRzpN9)wb%*nuqR)=ov5!|kUnU7S1$ z`i(fXSO~UPkoPWvMubk^EtTv;0Svx$7U=DB;|Sfg=7$Tol!8wBCz$ls0Hj-<%x>5P zZKR95)>CvJ7gZAGz;xr*6J-CI6Rq(IL&8W6Hn}oFH+NUl5XCc5k7oQ?an{kR(!F&S zJY&(=j0)AyCP~6h!=8_5ci#d7MFHNlW44&q#L8!Y=3A4ySf!ap%og89)YCBAJD+Gg zhbAo}Q3!6D6^hd`UmQ_ld*;sm7>u`37N|pfw2>O?yXps;#f)f|LHPug2RQr;IzBOW z@n7HpNV$o4;_wu!t!)SEa=2ys2YU52ZFu_vIz~dM&j+b6HbJ=x{pF%%gmQb+AROF% z+8!EB2z=3wE$PpWbaLPOeFWeME-=--&Y9dg&eP`vgca)qdx&1mthI;?j?P#kPk+an zNYl$E=o;7H_^++ya!kMHpdHxJ+LSMmiV z&gdap9-R`XjT;2i=)arAArM%p^TFo4=UALik{_;M>D_(s#Ldf4x!kv!y9i{@Is&a$ zwH%L$Ems}uf!}!sa{&SOUq}BWJ4RjcdeF5B-8Q3WS%XQkE5H77pJdk4A0b-C-tsj5 z79-ca_~Qhg2wzD`alVaVn6h4tq`>m6G=R8~{@uU@HZzahBb*i&#t0NTLwWA^Lu|bW zTOIEU$b}u&A;|$B^b}O)vwwKUwjw8S`ONCrpqaAXpE{s;>QkYFH$3uKa~hh#yvpv_ z`gxQe$4TZG82)2)5?_cY$A0-V;J+$YBqPIyQvPxB>p%61@c$7fo4Q+CTDTb5+qk;@ zBjjZrhyNhtuRJ5?#|9l;eU9^SugfqCLcm3-M7KX3Tzpz(R;;`YMe5AN$Bw6zDw)l6 z%3&-Z~0>@D-CKnay;1C+K(Vd_Z0@AyWcZ`)4*X&y_JvB zns%N)gNSNQu?#l|hPq|@y!sQzByg1+VeAvW7qlCcN7>@&tZ8J+ z*rogXK^ui~*|?deYCEq72B&`X>%HoS$A5P36!&UgQBpt5bCFr8VO0dWCg58RAn8{V zcTm7i^=rH+DXt9;724}Eyv?@v?tMk`i-({IY8H^@l3=j(k&B4Y7W5R)##pvOtmI#b zs={4HXd7obLkS_bVP(bo%i-Au>AOta$0uq0h9j8d7uiUu>>B8)c(JrIr{l*_Au2r; zuS(yUnRev>Q8X6h^tXj_*6p$xH&-IJc)lZqv~4Vs__Z@I%tWQe(^)n@M$g`CXQ$8Q zr5!RT91S>LD!R}Fq-kJQi}!He!pmfFA{T2kT;Y>;hL|_g`jz3t0G+0)oKUjr5C}D@ z#xKY|a#UCY3xJW=6*3uOjDt{mNndWwh-y;Ogmo8_(OGhrCBX!@}-$r>O)W}`m(Gp1lS7{d$R_i=vj?k%w!lu%_W}&V$O_4LL z2M>0xcUf$FlM%#nwI!KkZT}32^%COhK|`-61l)_1Oyh5g-;_O#*na72t6S4pO_zXQ zcBBf#Ak3?IyC1@nKz0QhT*B0c1+Ph8JqB+eXbTNKs`eBgS5dU|!Fy*st4rdIBCk@t z4>V1kLvMtF$SA&^G?aWou6t|di?FZVsiyt8F)q=}IN!*sk(A|N*^8E3y&6B76?%Aa3KkE(xN)=d9-z%^Z?#KB}r%ly#b!D#?2)p?2@`=ym zp~W-Fn@R`gxu~t(F};lv^9z^dq2-IBqvl3$HCRwo;k)O&4Q6msh=dR8)J z8ayF=EbJPkm%*%SL{p6ga!g)ko<~;Q%?izDwuU!5o07Ou&&hK_It+%rKR!(xUp{0q zCKU&7uGl|mT5hSG07^5u#zwF)6>)13`Zdn2chM^19P&%y>Z|h(*;4yg2*2a7FlKgh zn<3yY(e%KX0+KT+UugNXm88}c9J$x*$0g)d2A|mjG1(BL?(IpWzq&hHj=X;ZuZZox zq{alpqxp^LPROF#=#D&8#|@p#nQ1-5U7Y-hXr09GMuAW)CyHmS6*H)Rz8)OKh->^| zgi_5ff>ct>Zj{8li6z4UApE9T=Op(N@Y01kfAlmHkgtZHCGrNiCw4=)p%?zn8a^D1 zLr0Ld$h$5NYfU#^chV`2I0L$;{G~aOk}pmD3XoiGdLN79Yoca}{Ysjbu~)lPv!D6% zc&^eh=PxFzDF%O{6ed9|{BabnOmj z5PaSy8UMn)G5KXMVWrDc(a)p7g0~<=O(RuZkV{f1|syZqy9+BTV=YBDT?J zS1Rjk(&p2%i3dc;)cP#5TTNHgCLoRXgx!WbFl2YG`w~dpncf$ZBrxQuZt3J=V!>N6y_L1i+jrbPh+8& z9`gOYQ@;HdYhv80;?`!N#7%Y2&Gz6xL#BIi(}$iBjTc^muws}+p!rDg_tb0u;=;G; zO7~PB^?CU3o$GC>vLl;&R$3&XJ8N;vsBC`PxCQSQ;~yjs;b-7FqCdo$WqzRaw%cK0 z((yy(IH*HT2k1hHJbo7=Ol*I5Ao!cEa=-EM?Q<`Q8k!}ozD!0g)@|=oOSzt}gv2J8 z4%>d{({--MFT@XaFz)7zJ_y#pJdX+)!aoVonz* z4ge^9$65&38`7kIBDqP@Qadi{TBLnz{+Nq4cX<5ehJg6I=1U&&W)H$ztFle@_9Ke# z&%7;SK!LMsT4N%c;}Z&3rQ~I5uVA1;sZSTw|Lj5(CZ(c~ZVl4LrwD3$)HAHJz-mrR zPorzg)Jz}|IXkArLq`ciW+oaa1~fEf*96M#_E)6hVnk}oeXMXVki`n>^UONZGYp-c z=5WjBWDi%%TOQx$SRy-85FJ?1GL+x;_9>n6$ziH@_WYojOeU^1WUC};zL=uOgI}t z0bEp2?^YPMp=Ad5b{z&2y+JyW(M)9BS^P1`dQ!MWGgXDVD*REGXeMFq@Y28#3GL`f z%E_H{UQ1Z@2ra(@M#Y}i{9ai00tc!SfF;f{0oAKcb4XLCv)wa&t)lQS&-i@5OdOz7^d0|)uSBc{QK@RKuq_Aj}x zYwYm>H^Hwuf1=d0y6Z+#r{sF!|5X+< zS#|1WjxOZ^jw%!&X6#H$3EIe*MF)F|_mIZSb9gM1#c%N_4q$L4O=;~lnxAxDcK~N< zz`EjYFYgI3^@JAn`qM$KuZPwB2j)fc#%!oByOv`|}@c5&pqe^#2I97C>`GN6Y_b zR^~tOwrZ-xF9Hz!cj|8pwX5+N=VD|CtkIBjg!#Ngt*0EeYl|FYlU(GTz6tqkHp=Wk zNl9}(YA^j>?E{>X%We$mLZG?nbOt6fWQCL#-)C~py3LuRTTsSp*j4jY8IY9@Z!0@ru$J)pKSnqjkwqG~2kMm+hYv zXx8l8yEl{)=-69}Qa*+zAi>S0BJ{ofK-AXs zh61W2t$1Z2QHQTx7$(V=ei#_rxQSjrAGMfAQ%OZ4JJqIeOA+8Qn><6#nFqAFC^0hx z`*wES$qz7nkBrUzaINqzEsFk&=`z=wq z^m;;M!SSdSE%b;u3qva91@dUo#BWnxNt-kn)|>2+Vh^U#xQFyW=-}>Sc|^!<3pe?K z9B!fvq`2qt0kX-+XD;aj``bl} zthqhgmD|39XYzI-Dzy)|olhhz<{??DR`Mm;3zqSmw-@c3aHjV3zsW*Ox@#OR>G>q9 z97vp}_=Azj^4T(hbtE3fS(xYN1B4an~o(2q@h<0h177BA<`J0`)bA12Nny z;*RA8Nzj*sXE^*Ap8zWV@{*j*gBu?NF7xi+ya3>(1Y+4Hf9DagjQ0_xB0hB_&G?FHR zK%p0ssOa-u$3x*r6jDBF97SMxcMpg5sXCwk+Md%x;5ya7bL8PnaYx3lvKSFJdvV^r z)NS&{7(@0#H|Ve#z`o2opzFi%lkw#iJfhaAMrBbQZ`p>0-uO_Ywgw`aCU%3nmk;?y z#e{@dAVNZG(dsQAXenz{ufai^zBN&*tru>IH@Dc{9NxS$<;`Sn*b8VxOr+hf4efz5 zb16)d2ZObdlOlbt%4y4i2QR3b^|1-{9>%=!w_RI9V_gQ#!wgbYNUlv2)p*K%0%g~3=5AeIw{5yJ*t)1evCm-6o%&%vmsCx%x=?H6v*95l9D z!R%EIp`Gl{*6XUc)BL($9-POPKCcyT> zX@8CROu%h;Ot{4^?WY=qX2CK48@_DAek|jSYDqorq%0XS!g{vdcKj^K8NZceV#I^& zh9d)+QSHd>biGR<{T}Wu#ewIE4LwX4-@AQdR=&e`D`};Mykp6vSYw;;`|pPVvFo1G z^5*vf4K0Lwjj167O04PNgHH^TPbw*6@k({TF_gmah1f_|0y7q7^Wxes2lv&bCjzh6 zCP5}T1gJ`mDc>5^XpRPp=e=l#z3hZN1=DYl8qPCzUB1eGDd)PDKdEG$bU$d{g`zV> z;AQZf3+XCw8r2Zu;`u^<0y_4M8A2c)(`vF1TZ=}iEc$cKGJn4**Y7$kUIQVaAlI!g z-=vWKc6+Wz@OZ#ypCjUQ9PWZBb3q~L7mu9$fqX6X#y(2tC26{47B1&bUJz)p9n5&= z?-;AGMb2{9(^mG*$(#ck@o5gCN z>;iFnNGJ;8`ys@88&+Joil6hi6~vd*Ma{R>x_SFZH8yMTPsaVor(uiYAgU;{3x9T1 z?uXMI@+-yT85qD`IL7%4jfjPPbP(BDg)48~X@7tEWHGs+TONg9_jmiAm5FHrByt~X zq(dn2?d$;&g5{?Ta>$W8-{;q+;xl;Ab*w63EQ_MvVmdpE1V=)bPTZ{e`-rs3-)Cx$uO` zBua3^1WqX{xRG;iV}^1O|Mhwui;XN1=01d7x2cBBcIP%`cA(vAZRp;#!^Lfq=W?09 z>lv`(D{en4mTR!{Ka;0<*BYpjt`4fE5{B%7{$a4D;EFo=g*fS%z*SwX}7s?$o z`map!zP#G`;~!ImAc25T{jV{_|IHA3N}JLc{y_gx+A7{i7*01MO)s0&V4KCGU>Djd zx)u2x8Pl_Dely*)qyB5213MVn%V8$8Hmf83KG*yPb+`n&Tm8`*$>CVh%7NG;(IMDB z_0D#QVRd&!D1XGAC@&}?lO_!qvc#9egrz6bUvAUn7J}cQ0^0+R?rmY;U`A~;|7dgF zs6-jSEzg+?CsR)sbMD@!`hTgwkVL|{OGb+l=j7yoknip#VVZ+PD%+r8iTk)B4oN-6 ztJ&Mlc)_LA&6WNH)vX!~d8rfUPS2Fcl)h}DaK|LNW(N^2Yn0APZQLwjv{Un}T#iVV zmN4%}y$j@*IeTnx4T&=iaeHWLA;ef+WBU7Nk zwK|vjkZ@)?MdlPxAHV;8oq{(I8g0{fty)`uNL7rj8vN@jdOh^-R^0?|MqE`f^5QQ9 zQf<*9nqFIXzs*aUl3i)juC~BR94{FYa`6M9-X3@k#OZEDO>wwd>UweFBB9^eLzmUB z8`J&W)upjMHJ?J6*nY(JKT7wo+4L64sS|A`@rAVO$AS$4Hx#_ctJ?%vYjQ=}a=+Dm zN>EVkjLpaq@DQHn@Mwt150u;WRqeS|zUraloUET{B$*I)q7$!5kPQL+A1IFD`i zsFFV5Ha`k&M^-G&t6`P9!3L(&ABj{%j44u6?@N=Sa2pCep1owmFI;n=j&{Uti{w`} z;6BKMT?=_fCyIob;MJz8=J>}>pc0_S)G<{bR(ZO{Mpc*xpZnm9;h9AmDJ!YO3M+21 zM8Eg*N>q002IkN9#4Z0yYqH;Wp{_ranx*Jy>cuS#!1;h9Fym?;oW+@NSx{n~lV$DpWPn>H3)Bjico z_)1*~*MI2`D|5sTkvL3OhUs#7ob}IN=Dbb0i`!1}n3GIss7^~1H&FO8gLw%~mIvcE z_sJDX-qI)fSMS*;Y|PFRe$YD|Bf$d_ZsAbc-HaznzR65)Gd!0MK8}3l#IPT@Cm*F+s$2k?49;F;-r7MWLe1V`_*fSOPE=}5Jf$v9NtuFyRt=ZfhR~k z_|n|XvlPm#nh}on87ilB@r!rmj^@FC7r?{tJ7(Aa1@0M85D>QiX#n?fvT(6+umHN5 z*lU@%0BwL)|Dw6O^0Z+4*#D# z33Iv;HV}XUIWMU8q3ED5%SdyJa1s=B(mdab!uX}2Mx+qHYI^i#RSL-s2rNh;7 zh@d0k`nE+G4j9qJ;)_smC_G**BNpI{YBwMUQ$#np9p6WMssW+{of=N7%votQ6`d`B zeMu>_E3{c!$0d!Ih4E&FI~@f*Dpv?Pe1#pO-5vR(*QW%=Bs&|i3&SGEGa=5HD@SXO z9>@NiIatOJsFpr!vgCrI)K@Ok04|}>57>!wVdPicqT<`h4#8a=9k2XytWpGpv=JnV z>C7+{V?1Nh(JAGz)UIjxxEiN{lD$v`t27j1oT!s6S6#kZHu~JgeG}!BN<#MbtnfXY zg@AVQ)^X&|nLf}w3ni>AAp?k6#F?^{y4u*OS|W zlG>l%LVs^%E>8hvh@?_Y$pwgkaR8j)Ul7x#;5_*GG#&~ihDE6VY-!3M z8y(KQqaAqdXZt(>hqG3Gn3(_*K^*$5;HtI7?-o{`;dDwY*c}zZ{#RXUic+w8_ z;gYSLBrN&~mx^$}nnwaMink^5p>ry>i!w5YFm$d!YF%7fU^=Wtv{}Ac9v-2AFFub< zJpn0yZvjJIna;B*^u^k+QSfZCqWQp3-Wp45zM0*WR z2+@1>5sE#P38G8e7U_tqK)TWjJ-roPlceLa-)3mu78~5i&W5`&IIMAHQ38AEP>9s} z5KJpPj8Kl_lFI5HMsP>P*Aq#PqA7tXgv9Q>sYQ-0jWeQ)DQ|g*dx{w(e4~JH?pr{1 zcZ@upnt-ut=73Kia*sLfVQnd9OD-fZ8u{4vnYlmbEe8Asom@@J>N)8>IREGV5K=FXWm+K^^B6BzkYwmbB)iEYDmQJirZZp>AI0- zokL22=~x{G`em*@g>!1eS)d-i0AVOkUz`AU2+zIo1ZwjnIQ}OmN3q@Ll*B8&dn<)> zv(xZYnakJ`?HW=skJ6G0F41y+quACbxmWy>)o>$0hH-0nFfiVKG|5_c8M$&Q+ zG9z;%F~vtQX9p_1Twm0t zvDLM3>65}|bm|15n^FwjxFk5NF)URLuoMlL)+aq10n3EhSgu-AdUc!JksriTT(VzgQ1&7}eg6!&@C z+62lHyQHk8dZ}Vq9CI5#q6IrH{E%Qeb(e^2rdQWw7sZ$JYwNq}s38Y`K3z>M0^hLh z;)`z`o=qX|Ej@RNHxS;oKwYp~tM^h|dL#KSTf&-3Ct99w=8N`ImkK=)+EpPm4(cg% z)JHPtZ}9t@59YB>6vVko<&A|ON_;_?yo0FODHqQ$P8eUOs7ca0q>FH`+p^2Wl0aBd zRjq6}&r!e$<-1U72}}X`WIRQ>ZxFHB}`of^@Z@><+)YQ zS^PvT<4I>g}7Y<;$A6<(e*Z`}W<#fg9z@#NoRLJ!6v= zpObfCZ*3_8W=^0aUVl)HnajtxtZHloNOE&VZ7+x(p;e>;5jy+?AvAAXC$|srs{33# zBXwb+?c5&tD?Q}-A*h#0)t&PlAEwnKQoINw$(1h;r?@gkXDl@?(jX(nwj}`ce<^ip23gI zN`G4T0YUo+b}*xgT%~3pt|?_t;VLfpvh$y%FpiXxQxRK%sH&sU!wR(LOMBjiOh25}{)}iaW z7|I@(DLLpli5?WPH{PSYD2)7BOLV`^OsntqINyq9DP4BT3n?Pqa~dCh*EGt>)f=nt zLkS1xWHtc<_}!PsOs;gxt02=Q=hy=oK>>yj<*;jH3?Cqsq;ow&WdzRxN^$Nv;8;7n zF%cfn*foN}&A$HMfQg@h33sK#2Bx6S-3N8U0dmDZziu;q}+8XF?KMA&!p&_>mBO?ncRR1mZ z54FbXC*VQt2CPKd%W2vX-zN`}77H$qVb&mfUx>VX#YuLw@p=Rg$1%*`Jka+L+Epcc z;*CPQko4}^YtraQ$cI;3=IiA-5^y;Ad!X$L%y5iu9wGQOPECC*0a$Vw^pxC~W2a=w z5)gS_TW(lZ+UIH<&J!+>SH;CMTw*RQ!|QMb+Bkq5tR`%28jhkcRmA3euaSLIW?&o3 znr)_U1>6flKp=Y#x{L_oCmCE=*5~paxJ*JVC$EpqIY0Yj?76dHHcaUHXw1!U7GAo- zUqL`U~4q9HrJUy+6*q0q-k*Z7;Up*KIj#}?0~RA7&vk1j4b?t8H;1^7)wX>}h*waxk5U5G7r|}3_@WpBt!%hgAu6%`%Z6YWrWKpWICT{HK zp}cNY`K&n#Q-Z;I=5;00_*;V|4_D6ppg;~%Ge!|OH&wlj5XVYWL?(P-{HBI@B4NB7 z5k1!)ZT_+%%5(G4@LrbESHtCM9tH^S&xTcTxu8 zv<`7xK30n1!BDhFPDz6n?;MzLR@dg2YGDTLMpFfZ7-j$rwFXxOan-{%58$jElVT!I zhy^1<2QEia(VFPY+2W(2!n?GqGgM*mXEOoYA7X>%8?LYK-9;e!lkoazXi zgb9jHtYw9wZK9&)DtsWfHE7p(OLJy&_3i?NBPHLDP;RiuWzuBF53zIcr_Vb3LmV8? zYn^Pcbk|}SzRURBtZScaX$7R)3T4tAr4rq>OvHX>j}0~RMa`N^)Bim>*()>gVAWX7 zFP~HPYKX#0BWx@=$>|7+rTf&iHy<5M0Huu!I`3vnJ>9pBz7yb{R9iHcrzrx*YwFu_ zr4}Na+orC+(+N}WSF!SE)@!islZueuBhM9i9)v7Y=qr!jvNliV$rOA!Z{VZzF>XHl zUKY?1LG%1T&AaHnjx?xs@655~+C7DZPimy;;!LA|^%-N(>E{sb(>k>Cqmw+;rBgy0 zXxQxzF!y`+in-gmE0Vw7Ah)^Xpw~e#uq=>mhW>Xq$ZI)SB?So~WhDt&F-8jm52b#~ zMP}6I13H+~49ASQK8|K(%P>NGocu6iU()oh=x%><=$M%G))R_tS1H0aUj~~U3$}Cr zc%JfFqDHw?1V_Q?LUf=0nQGhjSxCzxR#k@w5gKQOLxE7rGf;U0d^Bb>Y6!sdsh77M z%6n6un0!?ltrJ*g;2*&OJ3kuQ(0_tFRbNZ5+i#A zHIAI6o1d7PEt}cKMb;)tUV|cDg|2AGR?HQ95))?M2D&DoI|^U>>;@ zWX($zJuZh>=W{niMuJEATPU04*VrbLnqLzZutqJ331;z%q@-=_iQHO#WIqBLon$Cf zn{+J*h(Pg4F5FV><)eAO>`UGDk0uF>hPiMgoQ_i#bo7hSjTz7z{mQ5yL{;rZFfE#v zMQIf~cux%YstbO>ZaNo%L@h`_aG3#&>EP*)V#B1Q5-Qh+Bvee#m&(d5& zsva!(ID#QWDZ5*L4J&}TBP>*-q7&kEw34Ti4}j*p9%vT^<;`{RzO2PW@tGu>8gIF9 zU@ZK7b+8rY{b1(%1VfwZ$Y;)cUT0RLX&c;`Sht<61FIwyN5V#Lo07t3qMX#(01B8UMs^( zpPb0_+14<&E&Z$EIiiZEt77pM0)Y-VFtAcAFtFc7dy2`ah$zSk%Dxr>4P~I3HfX;~ zERWqX(v6^3KE~k|K785F0xFVTd5Yt+gNMJXV5SM7V2KuIkQg?&oV{9-QXs)_8xMja zMt0yIeR*YDT3WibyH|tn>u&#$R8i7&Wr-hfJz;t?&f)sVF(f7(rIS)o!9O@dR8!Xw zJ*{3C=2S*we;L7l9WN@TTxh?RytrKdB*0En!SKLhLadx*z?w*vpF-J&B z0W3y^Xatd#857J`AINxk0&%`l3GCrpnF4UM=+8Ab&6%d!6G^ zA1!#`u-;Yn=;CxW802)DadYJA#qCu;!0C9i#F&}XXui!c-~o-RRiB5Fz7G^yb@aJ? zl%9DWOlBOPj;gqsU(1y9TrMSc!0Z)sE9EIVLNWb=6_Ij*LOWE~r7nRT`*8MmQrK=9 z#N3)4Z{jTat^NG(AsZjQ6{`DqAQg_kJ4jtI8J5>1B!R(jDl|e8t^>~yhW5oa+D=8v z%;W61dA7eHx4E00gMee{Q`qD0iU3~58OtQT=J~z@CC20XUZ&?QB?-#;;qw6;!-cIz zS(Z3FLG@l8D5zZrieRI~CD&O63mG_!xt;k?2+?VXJZYRaNyVRNWOGjpa}1$n>$E?B ztQIzXDqfL`_5AgLkkSF8_RpzlX6|m#W$6gX-~~&Bt^zv3a;!}hVSJmab_Y0&U05q# zFX4stjmpprrjJa$#1(GuDn}3_2F7gqYc)N1Opxu|8T4DxYVDh3Oy>FogYC`+diTQb z00s_CzQV)QlhNGZRvLtv%3#n`v<9@wxP|j)Qee6`eG}eHJ~ENjUJ_3Jr>)zoe#|#$s7}Y$bFqEU7M+*| zdrMO$SgIqnkywVmmxgf!Z$Qaz^VrO{sUbbd| z6Tu6To1r;HfC*vmbCNFq0eg#Ux(NF=DzXYk^xz?iA0~vflLU5suPjK6rGgIJa z>%K3C=vAcfo?jf)E@^$4>p$-pdsa#F6GF5-XKq76VNM2zr*JCL6O328hM9t$IN4DW|<#Zh@C9PPFd_hFs z@Mdnav`Siw9h4z1qjE-3ycxhV1NQ`rQ&K6XtZf72`Cu@%5_=oT83i&%NSwtsjJ5H+ zHa{M*&q9Omm`*4=kn$0>=P(fWPYm1V4XWDkLS7b4W}my}(2Zh;``ZK&fnHGQT4?pO zt*Cg5B#6B01GvPP7n z;{|k=G|dGhq-+>9w&Wdb4cCso@a3K`)7U@1XQ!+0Z!s5ilrN{G7p_u@pHfj_9Ib(5O!cJJ+LzLla$BuCLQT%fFeITchr6Lm8Djt-l4;5%0* zHS{>8i_!fm!uxLh7=tfz*z}$W9*AfC1n1x(RDBGpS%`J++q%RTI8OZpEbomLDqD*k zin^pa2bpDU;A)sx?dLJ=_GkdjI;NN*s=^uyDm>!1tLO@N3Z&f0sNoU#*kOR|bFE_3 z9^x~lcNg$THm{Nlz01tWjvzTWDFULSuLSS~H*7zF)jK-bYZYk#3t_A)tEhU6Jw<$X zo(&}NO9E99ZDrMpd$|omPCp6Y@M}OYTKWg&--~h&SdlX=G4I$CdUHAX3Z5Oft8I0* zYCEw+SXo)sET;{NwKoppFDE+#F@CsW4(6VcZ!(Z*brwy}J)rAu$lrIB6L$X=wpn3obX1nF{OBGR`r#Oo!&JN_;7#PNg0)31q{+y;Pu?{B?R7eJU>^e70EqE8A^7X30;V zaXOK)XF*_GZFv24S_T3uYON8`X+?Sw7Rka(?N+8 zVG~C{H}S!#QIvkGXu*d@UkBaLnYP0XO)4VN*I3dFQ;ubq)1{C)F0Nq6AVORzdedzr zso?^*G5=Ij$$vTvY_uyB7Tr*78?D!=(xIw!DhDaN(iTHb4Pd_%_MxJ=JN*PXcO@M* zE0At+O{gn$YTB>_n{#Px2Q(UWJQ z%@6f;(kj~1z&AzO&QnyRK(+*K}Nn9nX5 z9<8$YzY;gW_Fx|~;k9_^?bntTlvlc!h7ENOMQa^@u{;Va7^obZnVQ{1NpmFh_Tzg{ z_?+H!sw%`cqp;ItiZ{7VGJ2!C=C7!yT^91vR^*v@u!POCJeQBbJn>33Dv*(HM0wQC zy2q$6Q=ozmC?v64U;%k2Wzz@vJ7M!P3vn)y=z*ouR0E}TAJJNx<1fm_3BNiiLW|4J zk})$)V4}6^o3EYO&8CqVekamN3XPK~Tzd&Unf5kh z6v?I7gPb@hz>q)6Q=&!Ih6|r%b@TRM&?6NUJYIwRf)$nlhlYv|Hdp*)_MLSEK{D!9=LntNI%u})g< zuh$B6z5c0`q7tD9ojOvQrsVq23oG+$1`EdeCpMmM!d14h@FAw8@<^4~4b>C3biG<@ z8uh%Gbul8tXdqtWYJ!A$17kMdB{9pyUlqSupFz^EG*V?P+NJ5$Krng5yLksq*YcLAuFoXs8IyTBf>x|;zo_SB=&^Qf&Zk_lt?nsR^Rz`94?QHj~;EO_~N-tj%MH`}_lHOLy z2xxk!%j##Z!f`F6lmJT8=RToG{o%SVtM>~#AxTT1L6XamR5Fb(nI9G!y8D^mjIrjS zNvfU;jtTXPfIZJ;-JC@}@L;G;`b<)e5EpK7#2^`m^)0;A_)^6pNcbZ&xm&SPkAx^3 z6@%o0l6K82O;#LBz|f0uA{`I=>0H~|6^CVwj2zmK9mqHU&N5;%GBv8rN0sQVL(7Xz z8sEyIra<%$EW+8tflbGnP6KCyfTn~6if#m|5{XFn_~^<}b92j;nqGpPs9RHj6ttv*+WH z$Gi^^WC;Q*Z$kUVD2^AP5t2a4~5ywd|3Ms zp4yTGq4p6DcWXOWV=0E;#wSs3%x-Oj8anOUt(vSLgte!Xgj;so#M z>~0$hhE{fxmU8o8y(9NbZgeEqZ{L{}U&a`RIuFvz_IT+wI1uyhRXZx?RgF`DZ0qKy zM$7EvSYLEX3_0v661F>0k1~M0t zffNQm4EjHhY#$@g>AyAYOG~^KkyRA=iTI0KY`Qv!;zq4;9zZT=nV1%JjIVg)hrDMA!&g) zUi<_H{mu5t2e~|cTiu`d)_Qh!_9nJg4#p;bLvme^ttta@SJZ|7v4_r2o@}2GkbLex zCi!_W|Ayh|cA~!+Xt@3hhCgpE`n0E>ZUpp;VqEyYp!n0aKtCCNAUz#AKg@kUk0U`H zo&SL0f5nmi4)@Pv=twZ{zry`vEd5CR_Q$RKbBsPs{`Rxp**;hQ2>)MF!968>n%U+T zVVLoM(@{Sg^w&H$PuZSE)&FAiu=*!#zhdm4GCd6h{>8*@_fMFfh6O+6dm5DZix1c7 zH+=sRqWBd1X&B2dY$1>T2>WmD@~6t`Uzm`7zr*}no%Pd7KNTeZB4F_U4Z+`fdY{OX zpVB=Q5&xpw`^R*D(``>>biZh1LjOst{v@h<+M<>xI-XxtFCucRrld9(_`ctLM zFLbuZ{}BCey634xpMgVthTV8oywT0}4~>cSuY{U74Flz9LE literal 0 HcmV?d00001 diff --git a/packages/wallet-lib/package.json b/packages/wallet-lib/package.json index 9db1b245bb..8b19a380b1 100644 --- a/packages/wallet-lib/package.json +++ b/packages/wallet-lib/package.json @@ -51,7 +51,7 @@ "@dashevo/wasm-dpp": "workspace:*", "@yarnpkg/pnpify": "^4.0.0-rc.42", "cbor": "^8.0.0", - "crypto-js": "^4.0.0", + "crypto-js": "^4.2.0", "lodash": "^4.17.21", "pbkdf2": "^3.1.1", "setimmediate": "^1.0.5", diff --git a/yarn.lock b/yarn.lock index bd6da9ab07..2eec8ef5f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1876,7 +1876,7 @@ __metadata: chai: ^4.3.9 chai-as-promised: ^7.1.1 crypto-browserify: ^3.12.0 - crypto-js: ^4.0.0 + crypto-js: ^4.2.0 dirty-chai: ^2.0.1 dotenv-safe: ^8.2.0 eslint: ^7.32.0 @@ -4768,7 +4768,7 @@ __metadata: languageName: node linkType: hard -"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": version: 4.1.0 resolution: "browserify-rsa@npm:4.1.0" dependencies: @@ -4779,19 +4779,19 @@ __metadata: linkType: hard "browserify-sign@npm:^4.0.0": - version: 4.2.1 - resolution: "browserify-sign@npm:4.2.1" + version: 4.2.2 + resolution: "browserify-sign@npm:4.2.2" dependencies: - bn.js: ^5.1.1 - browserify-rsa: ^4.0.1 + bn.js: ^5.2.1 + browserify-rsa: ^4.1.0 create-hash: ^1.2.0 create-hmac: ^1.1.7 - elliptic: ^6.5.3 + elliptic: ^6.5.4 inherits: ^2.0.4 - parse-asn1: ^5.1.5 - readable-stream: ^3.6.0 - safe-buffer: ^5.2.0 - checksum: 0221f190e3f5b2d40183fa51621be7e838d9caa329fe1ba773406b7637855f37b30f5d83e52ff8f244ed12ffe6278dd9983638609ed88c841ce547e603855707 + parse-asn1: ^5.1.6 + readable-stream: ^3.6.2 + safe-buffer: ^5.2.1 + checksum: b622730c0fc183328c3a1c9fdaaaa5118821ed6822b266fa6b0375db7e20061ebec87301d61931d79b9da9a96ada1cab317fce3c68f233e5e93ed02dbb35544c languageName: node linkType: hard @@ -6066,10 +6066,10 @@ __metadata: languageName: node linkType: hard -"crypto-js@npm:^4.0.0": - version: 4.1.1 - resolution: "crypto-js@npm:4.1.1" - checksum: b3747c12ee3a7632fab3b3e171ea50f78b182545f0714f6d3e7e2858385f0f4101a15f2517e033802ce9d12ba50a391575ff4638c9de3dd9b2c4bc47768d5425 +"crypto-js@npm:^4.2.0": + version: 4.2.0 + resolution: "crypto-js@npm:4.2.0" + checksum: f051666dbc077c8324777f44fbd3aaea2986f198fe85092535130d17026c7c2ccf2d23ee5b29b36f7a4a07312db2fae23c9094b644cc35f7858b1b4fcaf27774 languageName: node linkType: hard @@ -11948,7 +11948,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5": +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.6": version: 5.1.6 resolution: "parse-asn1@npm:5.1.6" dependencies: @@ -12636,6 +12636,17 @@ fsevents@~2.3.2: languageName: node linkType: hard +"readable-stream@npm:^3.6.2": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d + languageName: node + linkType: hard + "readable-stream@npm:~1.0.2": version: 1.0.34 resolution: "readable-stream@npm:1.0.34" @@ -13040,7 +13051,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 From d4e63c2ee2db489aafea6aacb047e8162d072ee0 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Thu, 2 Nov 2023 07:41:54 +0700 Subject: [PATCH 11/22] using same core-rpc version --- Cargo.lock | 537 +++++++++++++++-------------- packages/rs-sdk/Cargo.toml | 2 +- packages/rs-sdk/src/mock/config.rs | 8 +- 3 files changed, 279 insertions(+), 268 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e39bfd816a..bbce5cc30f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ "getrandom", "once_cell", @@ -31,20 +31,21 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -66,9 +67,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.5.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" dependencies = [ "anstyle", "anstyle-parse", @@ -80,15 +81,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" dependencies = [ "utf8parse", ] @@ -104,9 +105,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "2.1.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", "windows-sys", @@ -144,9 +145,9 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.23", + "rustix 0.37.27", "slab", - "socket2 0.4.9", + "socket2 0.4.10", "waker-fn", ] @@ -183,9 +184,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", @@ -295,9 +296,9 @@ checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" [[package]] name = "base64" -version = "0.21.4" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -400,9 +401,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "bitvec" @@ -548,15 +549,15 @@ dependencies = [ [[package]] name = "bytecount" -version = "0.6.3" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -589,9 +590,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ "serde", ] @@ -703,9 +704,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.5" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824956d0dca8334758a5b7f7e50518d66ea319330cbceedcf76905c2f6ab30e3" +checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" dependencies = [ "clap_builder", "clap_derive", @@ -713,9 +714,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.5" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122ec64120a49b4563ccaedcbea7818d069ed8e9aa6d829b82d8a4128936b2ab" +checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" dependencies = [ "anstream", "anstyle", @@ -725,9 +726,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.4.2" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck", "proc-macro2", @@ -737,9 +738,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "colorchoice" @@ -813,9 +814,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -840,7 +841,7 @@ dependencies = [ "clap 2.34.0", "criterion-plot", "csv", - "itertools", + "itertools 0.10.5", "lazy_static", "num-traits", "oorandom", @@ -862,7 +863,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" dependencies = [ "cast", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -920,9 +921,9 @@ dependencies = [ [[package]] name = "csv" -version = "1.2.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086" +checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" dependencies = [ "csv-core", "itoa", @@ -932,9 +933,9 @@ dependencies = [ [[package]] name = "csv-core" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" dependencies = [ "memchr", ] @@ -958,9 +959,9 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", @@ -1132,10 +1133,11 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ + "powerfmt", "serde", ] @@ -1218,7 +1220,7 @@ dependencies = [ "getrandom", "hex", "integer-encoding", - "itertools", + "itertools 0.10.5", "json-patch", "jsonptr", "jsonschema", @@ -1254,7 +1256,7 @@ name = "drive" version = "0.25.0" dependencies = [ "anyhow", - "base64 0.21.4", + "base64 0.21.5", "bincode 2.0.0-rc.3", "bs58 0.5.0", "byteorder", @@ -1272,7 +1274,7 @@ dependencies = [ "indexmap 1.9.3", "integer-encoding", "intmap", - "itertools", + "itertools 0.10.5", "lazy_static", "mockall", "moka", @@ -1301,7 +1303,7 @@ dependencies = [ "bytes", "chrono", "ciborium", - "clap 4.4.5", + "clap 4.4.7", "dapi-grpc", "dashcore-rpc", "delegate", @@ -1313,7 +1315,7 @@ dependencies = [ "file-rotate", "hex", "indexmap 1.9.3", - "itertools", + "itertools 0.10.5", "lazy_static", "metrics", "metrics-exporter-prometheus", @@ -1331,7 +1333,7 @@ dependencies = [ "rust_decimal_macros", "serde", "serde_json", - "serde_with 3.3.0", + "serde_with 3.4.0", "sha2", "simple-signer", "strategy-tests", @@ -1385,9 +1387,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", "signature", @@ -1415,9 +1417,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "enum-map" -version = "2.6.3" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c188012f8542dee7b3996e44dd89461d64aa471b0a7c71a1ae2f595d259e96e5" +checksum = "53337c2dbf26a3c31eccc73a37b10c1614e8d4ae99b6a50d553e8936423c1f16" dependencies = [ "enum-map-derive", ] @@ -1476,25 +1478,14 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ - "errno-dragonfly", "libc", "windows-sys", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "error-chain" version = "0.12.4" @@ -1567,9 +1558,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" +checksum = "a481586acf778f1b1455424c343f71124b048ffa5f4fc3f8f6ae9dc432dcb3c7" [[package]] name = "file-rotate" @@ -1589,9 +1580,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -1660,9 +1651,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -1675,9 +1666,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -1685,15 +1676,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -1702,9 +1693,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-lite" @@ -1723,9 +1714,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", @@ -1734,21 +1725,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -1812,7 +1803,7 @@ dependencies = [ "indexmap 1.9.3", "integer-encoding", "intmap", - "itertools", + "itertools 0.10.5", "nohash-hasher", "serde", "tempfile", @@ -1883,7 +1874,7 @@ version = "1.0.0-rc.2" source = "git+https://github.com/dashpay/grovedb?rev=11198471542442de286348d0936475c8e602f953#11198471542442de286348d0936475c8e602f953" dependencies = [ "hex", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -1917,7 +1908,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.7", ] [[package]] @@ -1926,14 +1917,14 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ff8ae62cd3a9102e5637afc8452c55acf3844001bd5374e0b0bd7b6616c038" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", ] [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "heck" @@ -2037,7 +2028,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -2058,16 +2049,16 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -2108,12 +2099,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.2", ] [[package]] @@ -2153,9 +2144,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" @@ -2164,7 +2155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.3", - "rustix 0.38.14", + "rustix 0.38.21", "windows-sys", ] @@ -2186,6 +2177,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -2214,9 +2214,9 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" dependencies = [ "libc", ] @@ -2269,9 +2269,9 @@ name = "jsonschema" version = "0.15.0" source = "git+https://github.com/fominok/jsonschema-rs?branch=feat-unevaluated-properties#18f61ab46b4a06fb313fadadffd669058bddeafd" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.7", "anyhow", - "base64 0.21.4", + "base64 0.21.5", "bytecount", "fancy-regex", "fraction", @@ -2310,9 +2310,9 @@ checksum = "6df04c84bd3f83849dd23c51be4cbb22a02d80ebdea22741558fe30127d837ae" [[package]] name = "libc" -version = "0.2.148" +version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" [[package]] name = "libloading" @@ -2359,15 +2359,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.7" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -2423,9 +2423,9 @@ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memoffset" @@ -2442,7 +2442,7 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fde3af1a009ed76a778cb84fdef9e7dbbdf5775ae3e4cc1f434a6a307f6f76c5" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", "metrics-macros", "portable-atomic", ] @@ -2453,7 +2453,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a4964177ddfdab1e3a2b37aec7cf320e14169abb0ed73999f558136409178d5" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "hyper", "indexmap 1.9.3", "ipnet", @@ -2514,9 +2514,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi", @@ -2572,7 +2572,7 @@ dependencies = [ "tagptr", "thiserror", "triomphe", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -2656,9 +2656,9 @@ dependencies = [ [[package]] name = "num-derive" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e" +checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" dependencies = [ "proc-macro2", "quote", @@ -2700,9 +2700,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -2773,9 +2773,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" @@ -2789,9 +2789,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", @@ -2825,7 +2825,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.0.1", + "indexmap 2.1.0", ] [[package]] @@ -2944,9 +2944,9 @@ dependencies = [ [[package]] name = "platforms" -version = "3.1.2" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" +checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" [[package]] name = "plotters" @@ -2994,9 +2994,15 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.4.3" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b" +checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" @@ -3012,7 +3018,7 @@ checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", "float-cmp", - "itertools", + "itertools 0.10.5", "normalize-line-endings", "predicates-core", "regex", @@ -3109,9 +3115,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -3144,7 +3150,7 @@ checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "multimap", @@ -3166,7 +3172,7 @@ checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", "heck", - "itertools", + "itertools 0.11.0", "log", "multimap", "once_cell", @@ -3187,7 +3193,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 1.0.109", @@ -3200,7 +3206,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" dependencies = [ "anyhow", - "itertools", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.38", @@ -3347,23 +3353,23 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "regex" -version = "1.9.5" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.8", - "regex-syntax 0.7.5", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -3377,13 +3383,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.8" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.5", + "regex-syntax 0.8.2", ] [[package]] @@ -3394,9 +3400,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rend" @@ -3418,17 +3424,16 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.20" +version = "0.17.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" dependencies = [ "cc", + "getrandom", "libc", - "once_cell", "spin", "untrusted", - "web-sys", - "winapi", + "windows-sys", ] [[package]] @@ -3445,7 +3450,7 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -3494,7 +3499,7 @@ name = "rs-sdk" version = "0.1.0" dependencies = [ "async-trait", - "base64 0.21.4", + "base64 0.21.5", "bincode 2.0.0-rc.3", "ciborium", "dapi-grpc", @@ -3578,9 +3583,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", @@ -3592,26 +3597,26 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.14" +version = "0.38.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f" +checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "errno", "libc", - "linux-raw-sys 0.4.7", + "linux-raw-sys 0.4.10", "windows-sys", ] [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" dependencies = [ "log", "ring", - "rustls-webpki 0.101.6", + "rustls-webpki", "sct", ] @@ -3633,24 +3638,14 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.4", -] - -[[package]] -name = "rustls-webpki" -version = "0.100.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6a5fc258f1c1276dfe3016516945546e2d5383911efc0fc4f1cdc5df3a4ae3" -dependencies = [ - "ring", - "untrusted", + "base64 0.21.5", ] [[package]] name = "rustls-webpki" -version = "0.101.6" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ "ring", "untrusted", @@ -3703,9 +3698,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ "ring", "untrusted", @@ -3763,18 +3758,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.188" +version = "1.0.190" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" dependencies = [ "serde_derive", ] @@ -3819,9 +3814,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.190" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" dependencies = [ "proc-macro2", "quote", @@ -3830,11 +3825,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ - "indexmap 2.0.1", + "indexmap 2.1.0", "itoa", "ryu", "serde", @@ -3842,9 +3837,9 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", @@ -3869,16 +3864,16 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" +checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "chrono", "hex", "serde", "serde_json", - "serde_with_macros 3.3.0", + "serde_with_macros 3.4.0", "time", ] @@ -3896,9 +3891,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" +checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" dependencies = [ "darling", "proc-macro2", @@ -3919,9 +3914,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b21f559e07218024e7e9f90f96f601825397de0e25420135f7f952453fed0b" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -4001,9 +3996,9 @@ checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -4011,9 +4006,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys", @@ -4021,9 +4016,9 @@ dependencies = [ [[package]] name = "spin" -version = "0.5.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "spki" @@ -4056,7 +4051,7 @@ dependencies = [ "bytes", "chrono", "ciborium", - "clap 4.4.5", + "clap 4.4.7", "dapi-grpc", "dashcore-rpc", "delegate", @@ -4068,7 +4063,7 @@ dependencies = [ "file-rotate", "hex", "indexmap 1.9.3", - "itertools", + "itertools 0.10.5", "lazy_static", "metrics", "metrics-exporter-prometheus", @@ -4196,14 +4191,14 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", "fastrand 2.0.1", "redox_syscall", - "rustix 0.38.14", + "rustix 0.38.21", "windows-sys", ] @@ -4225,7 +4220,7 @@ dependencies = [ "tracing", "tracing-subscriber", "url", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -4338,12 +4333,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", + "powerfmt", "serde", "time-core", "time-macros", @@ -4391,9 +4387,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -4403,7 +4399,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.4", + "socket2 0.5.5", "tokio-macros", "windows-sys", ] @@ -4452,9 +4448,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -4475,9 +4471,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" @@ -4485,7 +4481,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.0.1", + "indexmap 2.1.0", "toml_datetime", "winnow", ] @@ -4499,7 +4495,7 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.4", + "base64 0.21.5", "bytes", "futures-core", "futures-util", @@ -4569,11 +4565,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4581,9 +4576,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", @@ -4592,9 +4587,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -4602,12 +4597,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -4731,22 +4726,22 @@ dependencies = [ [[package]] name = "untrusted" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.7.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b11c96ac7ee530603dcdf68ed1557050f374ce55a5a07193ebf8cbc9f8927e9" +checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "flate2", "log", "once_cell", "rustls", - "rustls-webpki 0.100.3", + "rustls-webpki", "url", "webpki-roots", ] @@ -4776,9 +4771,9 @@ checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" [[package]] name = "uuid" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ "getrandom", "rand", @@ -4920,7 +4915,7 @@ dependencies = [ "console_error_panic_hook", "dpp", "hex", - "itertools", + "itertools 0.10.5", "js-sys", "log", "num_enum", @@ -4957,12 +4952,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.23.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" -dependencies = [ - "rustls-webpki 0.100.3", -] +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "which" @@ -4973,7 +4965,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.14", + "rustix 0.38.21", ] [[package]] @@ -5008,10 +5000,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ "windows-targets", ] @@ -5084,9 +5076,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.15" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" dependencies = [ "memchr", ] @@ -5117,6 +5109,26 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +[[package]] +name = "zerocopy" +version = "0.7.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686b7e407015242119c33dab17b8f61ba6843534de936d94368856528eae4dcc" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020f3dfe25dfc38dfea49ce62d5d45ecdd7f0d8a724fa63eb36b6eba4ec76806" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "zeroize" version = "1.6.0" @@ -5137,11 +5149,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index 1269e082ea..7f00a21972 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -33,7 +33,7 @@ envy = { version = "0.4.2", optional = true } futures = { version = "0.3.28" } derive_more = { version = "0.99.16" } # dashcore-rpc is only needed for core rpc; TODO remove once we have correct core rpc impl -dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", tag = "v0.15.1" } +dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", branch = "master" } [dev-dependencies] rs-dapi-client = { path = "../rs-dapi-client", features = ["mocks", "dump"] } diff --git a/packages/rs-sdk/src/mock/config.rs b/packages/rs-sdk/src/mock/config.rs index dcbe5e86c8..e54badfe3e 100644 --- a/packages/rs-sdk/src/mock/config.rs +++ b/packages/rs-sdk/src/mock/config.rs @@ -37,12 +37,12 @@ pub struct Config { } impl Deserialize<'de1>> Config { - /// Prefix of configuration options in the enviroment variables and `.env` file. + /// Prefix of configuration options in the environment variables and `.env` file. pub const CONFIG_PREFIX: &str = "RS_SDK_"; - /// Load configuration from operating system enviroment variables and `.env` file. + /// Load configuration from operating system environment variables and `.env` file. /// - /// Create new [Config] with data from enviroment variables and `${CARGO_MANIFEST_DIR}/.env` file. - /// Variable names in the enviroment and `.env` file must be converted to SCREAMING_SNAKE_CASE and + /// Create new [Config] with data from environment variables and `${CARGO_MANIFEST_DIR}/.env` file. + /// Variable names in the environment and `.env` file must be converted to SCREAMING_SNAKE_CASE and /// prefixed with [RS_SDK_](Config::CONFIG_PREFIX). pub fn new() -> Self { // load config from .env file, ignore errors From 394ab2c941e6835a8a0814d1b91b60ef20a7faf5 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Thu, 2 Nov 2023 08:28:06 +0700 Subject: [PATCH 12/22] small text fixes --- packages/rs-drive-proof-verifier/src/types.rs | 2 +- packages/rs-sdk/src/sdk.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rs-drive-proof-verifier/src/types.rs b/packages/rs-drive-proof-verifier/src/types.rs index ab276f5a02..e711f595d6 100644 --- a/packages/rs-drive-proof-verifier/src/types.rs +++ b/packages/rs-drive-proof-verifier/src/types.rs @@ -19,7 +19,7 @@ use dpp::{ pub type DataContractHistory = BTreeMap; /// Multiple data contracts. /// -/// Mapping betweeen data contract IDs and data contracts. +/// Mapping between data contract IDs and data contracts. /// If data contract is not found, it is represented as `None`. pub type DataContracts = BTreeMap<[u8; 32], Option>; diff --git a/packages/rs-sdk/src/sdk.rs b/packages/rs-sdk/src/sdk.rs index 79fcdafc24..338543b051 100644 --- a/packages/rs-sdk/src/sdk.rs +++ b/packages/rs-sdk/src/sdk.rs @@ -236,7 +236,7 @@ impl Dapi for Sdk { /// Dash Platform SDK Builder, used to configure and [`SdkBuilder::build()`] the [Sdk]. /// -/// [SdkBuilder] implemenents a "builder" design pattern to allow configuration of the Sdk before it is instantiated. +/// [SdkBuilder] implements a "builder" design pattern to allow configuration of the Sdk before it is instantiated. /// It allows creation of Sdk in two modes: /// - `Normal`: Connects to a remote Dash Platform node. /// - `Mock`: Uses a mock implementation of Dash Platform. From d15d4b97c094793f3e5d0d6db9d93dc43a79af3f Mon Sep 17 00:00:00 2001 From: QuantumExplorer Date: Thu, 2 Nov 2023 09:33:48 +0700 Subject: [PATCH 13/22] docs: Update README.md to give information about correctly adding to correct Shell $PATH (#1550) Co-authored-by: strophy <32928115+strophy@users.noreply.github.com> --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d7d312b60..34507292da 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,10 @@ this repository may be used on the following networks: - [wasm-bingen toolchain](https://rustwasm.github.io/wasm-bindgen/): - **IMPORTANT (OSX only)**: built-in `llvm` on OSX does not work, needs to be installed from brew: - `brew install llvm` - - LLVM installed from brew is keg only, and path to it must be provided in the profile file, e.g.`echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.zshrc` + - LLVM installed from brew is keg only, and path to it must be provided in the profile file, + in terminal run `echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.zshrc` or `echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.bash_profile` depending on your default shell. + You can find your default shell with `echo $SHELL` + - Reload your shell with `source ~/.zshrc` or `source ~/.bash_profile` - install `protoc` - protobuf compiler: - on debian/ubuntu: `apt install -y protobuf-compiler` - on Mac: `brew install protobuf` From 0b86cd2925a676500ab5a874779cca414dfd3405 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 2 Nov 2023 10:00:56 +0700 Subject: [PATCH 14/22] chore(dpp): version `InstantAssetLockProof.validate_structure` (#1549) --- .../instant/instant_asset_lock_proof.rs | 42 ++++++++----------- .../asset_lock_proof/instant/methods/mod.rs | 1 + .../instant/methods/validate_structure/mod.rs | 3 ++ .../methods/validate_structure/v0/mod.rs | 35 ++++++++++++++++ .../asset_lock_proof/instant/mod.rs | 1 + .../src/version/dpp_versions.rs | 1 + .../src/version/mocks/v2_test.rs | 1 + .../src/version/mocks/v3_test.rs | 1 + .../rs-platform-version/src/version/v1.rs | 1 + 9 files changed, 62 insertions(+), 24 deletions(-) create mode 100644 packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/mod.rs create mode 100644 packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/mod.rs create mode 100644 packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/v0/mod.rs diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs index ac5a96d481..5d11032960 100644 --- a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs @@ -10,7 +10,8 @@ use crate::consensus::basic::identity::IdentityAssetLockProofLockedTransactionMi use serde::de::Error as DeError; use serde::ser::Error as SerError; use serde::{Deserialize, Deserializer, Serialize, Serializer}; -use platform_version::version::PlatformVersion; +use platform_version::version::{FeatureVersion, PlatformVersion}; +use crate::identity::state_transition::asset_lock_proof::instant::methods; use crate::identity::state_transition::asset_lock_proof::validate_asset_lock_transaction_structure::validate_asset_lock_transaction_structure; use crate::prelude::Identifier; @@ -159,36 +160,29 @@ impl InstantAssetLockProof { .map_err(|e| ProtocolError::EncodingError(e.to_string())) } - // TODO: Versioning /// Validate Instant Asset Lock Proof structure #[cfg(feature = "validation")] pub fn validate_structure( &self, platform_version: &PlatformVersion, ) -> Result { - let mut result = SimpleConsensusValidationResult::default(); - - let transaction_id = self.transaction().txid(); - if self.instant_lock().txid != transaction_id { - result.add_error(IdentityAssetLockProofLockedTransactionMismatchError::new( - self.instant_lock().txid, - transaction_id, - )); - - return Ok(result); - } - - let validate_transaction_result = validate_asset_lock_transaction_structure( - self.transaction(), - self.output_index(), - platform_version, - )?; - - if !validate_transaction_result.is_valid() { - result.merge(validate_transaction_result); + match platform_version + .dpp + .state_transitions + .identities + .asset_locks + .validate_instant_asset_lock_proof_structure + { + 0 => methods::validate_structure::validate_instant_asset_lock_proof_structure_v0( + self, + platform_version, + ), + version => Err(ProtocolError::UnknownVersionMismatch { + method: "validate_instant_asset_lock_proof_structure".to_string(), + known_versions: vec![0], + received: version, + }), } - - Ok(result) } } diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/mod.rs new file mode 100644 index 0000000000..7b1bcf1103 --- /dev/null +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/mod.rs @@ -0,0 +1 @@ +pub mod validate_structure; diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/mod.rs new file mode 100644 index 0000000000..9743445699 --- /dev/null +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/mod.rs @@ -0,0 +1,3 @@ +mod v0; + +pub(in crate::identity::state_transition::asset_lock_proof::instant) use v0::validate_instant_asset_lock_proof_structure_v0; diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/v0/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/v0/mod.rs new file mode 100644 index 0000000000..1ebf37418b --- /dev/null +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/methods/validate_structure/v0/mod.rs @@ -0,0 +1,35 @@ +use platform_version::version::PlatformVersion; +use crate::consensus::basic::identity::IdentityAssetLockProofLockedTransactionMismatchError; +use crate::identity::state_transition::asset_lock_proof::InstantAssetLockProof; +use crate::identity::state_transition::asset_lock_proof::validate_asset_lock_transaction_structure::validate_asset_lock_transaction_structure; +use crate::ProtocolError; +use crate::validation::SimpleConsensusValidationResult; + +pub fn validate_instant_asset_lock_proof_structure_v0( + proof: &InstantAssetLockProof, + platform_version: &PlatformVersion, +) -> Result { + let mut result = SimpleConsensusValidationResult::default(); + + let transaction_id = proof.transaction().txid(); + if proof.instant_lock().txid != transaction_id { + result.add_error(IdentityAssetLockProofLockedTransactionMismatchError::new( + proof.instant_lock().txid, + transaction_id, + )); + + return Ok(result); + } + + let validate_transaction_result = validate_asset_lock_transaction_structure( + proof.transaction(), + proof.output_index(), + platform_version, + )?; + + if !validate_transaction_result.is_valid() { + result.merge(validate_transaction_result); + } + + Ok(result) +} diff --git a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/mod.rs b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/mod.rs index 017076fe68..d259f39556 100644 --- a/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/mod.rs +++ b/packages/rs-dpp/src/identity/state_transition/asset_lock_proof/instant/mod.rs @@ -1,3 +1,4 @@ pub use instant_asset_lock_proof::*; mod instant_asset_lock_proof; +mod methods; diff --git a/packages/rs-platform-version/src/version/dpp_versions.rs b/packages/rs-platform-version/src/version/dpp_versions.rs index 7fba8e1516..6c271f17f2 100644 --- a/packages/rs-platform-version/src/version/dpp_versions.rs +++ b/packages/rs-platform-version/src/version/dpp_versions.rs @@ -28,6 +28,7 @@ pub struct IdentityTransitionVersions { #[derive(Clone, Debug, Default)] pub struct IdentityTransitionAssetLockVersions { pub validate_asset_lock_transaction_structure: FeatureVersion, + pub validate_instant_asset_lock_proof_structure: FeatureVersion, } #[derive(Clone, Debug, Default)] diff --git a/packages/rs-platform-version/src/version/mocks/v2_test.rs b/packages/rs-platform-version/src/version/mocks/v2_test.rs index e3d56d0e39..481b2b0a6a 100644 --- a/packages/rs-platform-version/src/version/mocks/v2_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v2_test.rs @@ -825,6 +825,7 @@ pub(crate) const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { identities: IdentityTransitionVersions { asset_locks: IdentityTransitionAssetLockVersions { validate_asset_lock_transaction_structure: 0, + validate_instant_asset_lock_proof_structure: 0, }, }, }, diff --git a/packages/rs-platform-version/src/version/mocks/v3_test.rs b/packages/rs-platform-version/src/version/mocks/v3_test.rs index 79de6ae7c5..846fbf9b01 100644 --- a/packages/rs-platform-version/src/version/mocks/v3_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v3_test.rs @@ -825,6 +825,7 @@ pub(crate) const TEST_PLATFORM_V3: PlatformVersion = PlatformVersion { identities: IdentityTransitionVersions { asset_locks: IdentityTransitionAssetLockVersions { validate_asset_lock_transaction_structure: 0, + validate_instant_asset_lock_proof_structure: 0, }, }, }, diff --git a/packages/rs-platform-version/src/version/v1.rs b/packages/rs-platform-version/src/version/v1.rs index 2bb81da1fc..f53927ca66 100644 --- a/packages/rs-platform-version/src/version/v1.rs +++ b/packages/rs-platform-version/src/version/v1.rs @@ -822,6 +822,7 @@ pub(super) const PLATFORM_V1: PlatformVersion = PlatformVersion { identities: IdentityTransitionVersions { asset_locks: IdentityTransitionAssetLockVersions { validate_asset_lock_transaction_structure: 0, + validate_instant_asset_lock_proof_structure: 0, }, }, }, From 2e2694a241dc58bed49f8de389e30e94d467b3c5 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Thu, 2 Nov 2023 11:49:37 +0700 Subject: [PATCH 15/22] small fixes --- .../platform/v0/nodejs/platform_pbjs.js | 33 +++- .../platform/v0/nodejs/platform_protoc.js | 30 ++- .../platform/v0/objective-c/Platform.pbobjc.h | 14 +- .../platform/v0/objective-c/Platform.pbobjc.m | 20 +- .../platform/v0/python/platform_pb2.py | 182 +++++++++--------- .../clients/platform/v0/web/platform_pb.d.ts | 6 + .../clients/platform/v0/web/platform_pb.js | 30 ++- packages/rs-dapi-client/src/mock.rs | 8 +- packages/rs-sdk/Cargo.toml | 2 +- packages/rs-sdk/tests/fetch/document.rs | 2 + 10 files changed, 218 insertions(+), 109 deletions(-) diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js index 76696b5ae2..d7c4d98b2f 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js @@ -10165,6 +10165,20 @@ $root.org = (function() { */ GetProofsResponseV0.prototype.metadata = null; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetProofsResponseV0 result. + * @member {"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 + * @instance + */ + Object.defineProperty(GetProofsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new GetProofsResponseV0 instance using the specified properties. * @function create @@ -10268,10 +10282,14 @@ $root.org = (function() { GetProofsResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; if (message.proof != null && message.hasOwnProperty("proof")) { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); - if (error) - return "proof." + error; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } } if (message.metadata != null && message.hasOwnProperty("metadata")) { var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); @@ -10319,12 +10337,13 @@ $root.org = (function() { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.proof = null; + if (options.defaults) object.metadata = null; - } - if (message.proof != null && message.hasOwnProperty("proof")) + if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } if (message.metadata != null && message.hasOwnProperty("metadata")) object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); return object; diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js index 709bb14fb2..813527e8f5 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js @@ -131,6 +131,7 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsReq goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase', null, { proto }); @@ -1020,7 +1021,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_); }; goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -10127,6 +10128,31 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = func +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + PROOF: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10269,7 +10295,7 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0], value); }; diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index 894d976ffc..ac0e154294 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h @@ -1019,11 +1019,16 @@ typedef GPB_ENUM(GetProofsResponse_GetProofsResponseV0_FieldNumber) { GetProofsResponse_GetProofsResponseV0_FieldNumber_Metadata = 2, }; +typedef GPB_ENUM(GetProofsResponse_GetProofsResponseV0_Result_OneOfCase) { + GetProofsResponse_GetProofsResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetProofsResponse_GetProofsResponseV0_Result_OneOfCase_Proof = 1, +}; + GPB_FINAL @interface GetProofsResponse_GetProofsResponseV0 : GPBMessage +@property(nonatomic, readonly) GetProofsResponse_GetProofsResponseV0_Result_OneOfCase resultOneOfCase; + @property(nonatomic, readwrite, strong, null_resettable) Proof *proof; -/** Test to see if @c proof has been set. */ -@property(nonatomic, readwrite) BOOL hasProof; @property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; /** Test to see if @c metadata has been set. */ @@ -1031,6 +1036,11 @@ GPB_FINAL @interface GetProofsResponse_GetProofsResponseV0 : GPBMessage @end +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetProofsResponse_GetProofsResponseV0_ClearResultOneOfCase(GetProofsResponse_GetProofsResponseV0 *message); + #pragma mark - GetDataContractRequest typedef GPB_ENUM(GetDataContractRequest_FieldNumber) { diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m index cbcde27e30..c608d4d4d6 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m @@ -2700,11 +2700,12 @@ void GetProofsResponse_ClearVersionOneOfCase(GetProofsResponse *message) { @implementation GetProofsResponse_GetProofsResponseV0 -@dynamic hasProof, proof; +@dynamic resultOneOfCase; +@dynamic proof; @dynamic hasMetadata, metadata; typedef struct GetProofsResponse_GetProofsResponseV0__storage_ { - uint32_t _has_storage_[1]; + uint32_t _has_storage_[2]; Proof *proof; ResponseMetadata *metadata; } GetProofsResponse_GetProofsResponseV0__storage_; @@ -2719,7 +2720,7 @@ + (GPBDescriptor *)descriptor { .name = "proof", .dataTypeSpecific.clazz = GPBObjCClass(Proof), .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Proof, - .hasIndex = 0, + .hasIndex = -1, .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__storage_, proof), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, @@ -2728,7 +2729,7 @@ + (GPBDescriptor *)descriptor { .name = "metadata", .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), .number = GetProofsResponse_GetProofsResponseV0_FieldNumber_Metadata, - .hasIndex = 1, + .hasIndex = 0, .offset = (uint32_t)offsetof(GetProofsResponse_GetProofsResponseV0__storage_, metadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, @@ -2742,6 +2743,12 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(GetProofsResponse_GetProofsResponseV0__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProofsResponse)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); @@ -2753,6 +2760,11 @@ + (GPBDescriptor *)descriptor { @end +void GetProofsResponse_GetProofsResponseV0_ClearResultOneOfCase(GetProofsResponse_GetProofsResponseV0 *message) { + GPBDescriptor *descriptor = [GetProofsResponse_GetProofsResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} #pragma mark - GetDataContractRequest @implementation GetDataContractRequest diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py index aa0818a194..a50c239eb7 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py @@ -22,7 +22,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x81\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\x0f\n\x07time_ms\x18\x03 \x01(\x04\x12\x18\n\x10protocol_version\x18\x04 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x05 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xad\x01\n\x14GetIdentitiesRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0H\x00\x1a\x34\n\x16GetIdentitiesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x04\n\x15GetIdentitiesResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0H\x00\x1a\x1e\n\rIdentityValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x1ak\n\rIdentityEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue\x1a\x66\n\nIdentities\x12X\n\x10identity_entries\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry\x1a\xe8\x01\n\x17GetIdentitiesResponseV0\x12Q\n\nidentities\x18\x01 \x01(\x0b\x32;.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentitiesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xad\x01\n\x1cGetIdentityBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xa9\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\xfc\x02\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x12\x42\x61lanceAndRevision\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\x10\n\x08revision\x18\x02 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x93\x06\n\x10GetProofsRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0H\x00\x1a\xa5\x05\n\x12GetProofsRequestV0\x12\x62\n\nidentities\x18\x01 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest\x12\x61\n\tcontracts\x18\x02 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest\x12\x61\n\tdocuments\x18\x03 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest\x1aw\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x1a\xc3\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12i\n\x0crequest_type\x18\x02 \x01(\x0e\x32S.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type\"0\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x42\t\n\x07version\"\xf6\x01\n\x11GetProofsResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0H\x00\x1a\x85\x01\n\x13GetProofsResponseV0\x12/\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc1\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xac\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xae\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x96\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xb2\x02\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05startB\t\n\x07version\"\x95\x03\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xff\x01\n%GetIdentitiesByPublicKeyHashesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0H\x00\x1aS\n\'GetIdentitiesByPublicKeyHashesRequestV0\x12\x19\n\x11public_key_hashes\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc6\x05\n&GetIdentitiesByPublicKeyHashesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0H\x00\x1a\x61\n\x1aPublicKeyHashIdentityEntry\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1a\x95\x01\n\x1bIdentitiesByPublicKeyHashes\x12v\n\x10identity_entries\x18\x01 \x03(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry\x1a\x9b\x02\n(GetIdentitiesByPublicKeyHashesResponseV0\x12s\n\nidentities\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version2\xef\x0f\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12r\n\rgetIdentities\x12/.org.dash.platform.dapi.v0.GetIdentitiesRequest\x1a\x30.org.dash.platform.dapi.v0.GetIdentitiesResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\xa5\x01\n\x1egetIdentitiesByPublicKeyHashes\x12@.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest\x1a\x41.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponseb\x06proto3' + serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x81\x01\n\x10ResponseMetadata\x12\x0e\n\x06height\x18\x01 \x01(\x04\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\x0f\n\x07time_ms\x18\x03 \x01(\x04\x12\x18\n\x10protocol_version\x18\x04 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x05 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xad\x01\n\x14GetIdentitiesRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetIdentitiesRequest.GetIdentitiesRequestV0H\x00\x1a\x34\n\x16GetIdentitiesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x04\n\x15GetIdentitiesResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetIdentitiesResponse.GetIdentitiesResponseV0H\x00\x1a\x1e\n\rIdentityValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x1ak\n\rIdentityEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityValue\x1a\x66\n\nIdentities\x12X\n\x10identity_entries\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentityEntry\x1a\xe8\x01\n\x17GetIdentitiesResponseV0\x12Q\n\nidentities\x18\x01 \x01(\x0b\x32;.org.dash.platform.dapi.v0.GetIdentitiesResponse.IdentitiesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xad\x01\n\x1cGetIdentityBalanceResponseV0\x12\x11\n\x07\x62\x61lance\x18\x01 \x01(\x04H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xa9\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\xfc\x02\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x12\x42\x61lanceAndRevision\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\x10\n\x08revision\x18\x02 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x93\x06\n\x10GetProofsRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0H\x00\x1a\xa5\x05\n\x12GetProofsRequestV0\x12\x62\n\nidentities\x18\x01 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest\x12\x61\n\tcontracts\x18\x02 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.ContractRequest\x12\x61\n\tdocuments\x18\x03 \x03(\x0b\x32N.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.DocumentRequest\x1aw\n\x0f\x44ocumentRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12#\n\x1b\x64ocument_type_keeps_history\x18\x03 \x01(\x08\x12\x13\n\x0b\x64ocument_id\x18\x04 \x01(\x0c\x1a\xc3\x01\n\x0fIdentityRequest\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12i\n\x0crequest_type\x18\x02 \x01(\x0e\x32S.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsRequestV0.IdentityRequest.Type\"0\n\x04Type\x12\x11\n\rFULL_IDENTITY\x10\x00\x12\x0b\n\x07\x42\x41LANCE\x10\x01\x12\x08\n\x04KEYS\x10\x02\x1a&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x42\t\n\x07version\"\x82\x02\n\x11GetProofsResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0H\x00\x1a\x91\x01\n\x13GetProofsResponseV0\x12\x31\n\x05proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc1\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xac\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x13\n\x0bstart_at_ms\x18\x04 \x01(\x04\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xae\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x96\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x18\x44\x61taContractHistoryEntry\x12\x0c\n\x04\x64\x61te\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xb2\x02\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05startB\t\n\x07version\"\x95\x03\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xff\x01\n%GetIdentitiesByPublicKeyHashesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest.GetIdentitiesByPublicKeyHashesRequestV0H\x00\x1aS\n\'GetIdentitiesByPublicKeyHashesRequestV0\x12\x19\n\x11public_key_hashes\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc6\x05\n&GetIdentitiesByPublicKeyHashesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.GetIdentitiesByPublicKeyHashesResponseV0H\x00\x1a\x61\n\x1aPublicKeyHashIdentityEntry\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1a\x95\x01\n\x1bIdentitiesByPublicKeyHashes\x12v\n\x10identity_entries\x18\x01 \x03(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.PublicKeyHashIdentityEntry\x1a\x9b\x02\n(GetIdentitiesByPublicKeyHashesResponseV0\x12s\n\nidentities\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse.IdentitiesByPublicKeyHashesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version2\xef\x0f\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12r\n\rgetIdentities\x12/.org.dash.platform.dapi.v0.GetIdentitiesRequest\x1a\x30.org.dash.platform.dapi.v0.GetIdentitiesResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\x66\n\tgetProofs\x12+.org.dash.platform.dapi.v0.GetProofsRequest\x1a,.org.dash.platform.dapi.v0.GetProofsResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\xa5\x01\n\x1egetIdentitiesByPublicKeyHashes\x12@.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesRequest\x1a\x41.org.dash.platform.dapi.v0.GetIdentitiesByPublicKeyHashesResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponseb\x06proto3' , dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) @@ -1800,9 +1800,14 @@ syntax='proto3', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], serialized_start=5539, - serialized_end=5672, + serialized_end=5684, ) _GETPROOFSRESPONSE = _descriptor.Descriptor( @@ -1838,7 +1843,7 @@ fields=[]), ], serialized_start=5437, - serialized_end=5683, + serialized_end=5695, ) @@ -1876,8 +1881,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5802, - serialized_end=5855, + serialized_start=5814, + serialized_end=5867, ) _GETDATACONTRACTREQUEST = _descriptor.Descriptor( @@ -1912,8 +1917,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5686, - serialized_end=5866, + serialized_start=5698, + serialized_end=5878, ) @@ -1963,8 +1968,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5989, - serialized_end=6165, + serialized_start=6001, + serialized_end=6177, ) _GETDATACONTRACTRESPONSE = _descriptor.Descriptor( @@ -1999,8 +2004,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=5869, - serialized_end=6176, + serialized_start=5881, + serialized_end=6188, ) @@ -2038,8 +2043,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6298, - serialized_end=6353, + serialized_start=6310, + serialized_end=6365, ) _GETDATACONTRACTSREQUEST = _descriptor.Descriptor( @@ -2074,8 +2079,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6179, - serialized_end=6364, + serialized_start=6191, + serialized_end=6376, ) @@ -2113,8 +2118,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6489, - serialized_end=6580, + serialized_start=6501, + serialized_end=6592, ) _GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( @@ -2144,8 +2149,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6582, - serialized_end=6699, + serialized_start=6594, + serialized_end=6711, ) _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 = _descriptor.Descriptor( @@ -2194,8 +2199,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6702, - serialized_end=6947, + serialized_start=6714, + serialized_end=6959, ) _GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( @@ -2230,8 +2235,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6367, - serialized_end=6958, + serialized_start=6379, + serialized_end=6970, ) @@ -2290,8 +2295,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7099, - serialized_end=7271, + serialized_start=7111, + serialized_end=7283, ) _GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( @@ -2326,8 +2331,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6961, - serialized_end=7282, + serialized_start=6973, + serialized_end=7294, ) @@ -2365,8 +2370,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7722, - serialized_end=7777, + serialized_start=7734, + serialized_end=7789, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY = _descriptor.Descriptor( @@ -2396,8 +2401,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7780, - serialized_end=7950, + serialized_start=7792, + serialized_end=7962, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 = _descriptor.Descriptor( @@ -2446,8 +2451,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7426, - serialized_end=7960, + serialized_start=7438, + serialized_end=7972, ) _GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( @@ -2482,8 +2487,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7285, - serialized_end=7971, + serialized_start=7297, + serialized_end=7983, ) @@ -2568,8 +2573,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8082, - serialized_end=8269, + serialized_start=8094, + serialized_end=8281, ) _GETDOCUMENTSREQUEST = _descriptor.Descriptor( @@ -2604,8 +2609,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=7974, - serialized_end=8280, + serialized_start=7986, + serialized_end=8292, ) @@ -2636,8 +2641,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8637, - serialized_end=8667, + serialized_start=8649, + serialized_end=8679, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 = _descriptor.Descriptor( @@ -2686,8 +2691,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8394, - serialized_end=8677, + serialized_start=8406, + serialized_end=8689, ) _GETDOCUMENTSRESPONSE = _descriptor.Descriptor( @@ -2722,8 +2727,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8283, - serialized_end=8688, + serialized_start=8295, + serialized_end=8700, ) @@ -2761,8 +2766,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8852, - serialized_end=8935, + serialized_start=8864, + serialized_end=8947, ) _GETIDENTITIESBYPUBLICKEYHASHESREQUEST = _descriptor.Descriptor( @@ -2797,8 +2802,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8691, - serialized_end=8946, + serialized_start=8703, + serialized_end=8958, ) @@ -2836,8 +2841,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9113, - serialized_end=9210, + serialized_start=9125, + serialized_end=9222, ) _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_IDENTITIESBYPUBLICKEYHASHES = _descriptor.Descriptor( @@ -2867,8 +2872,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9213, - serialized_end=9362, + serialized_start=9225, + serialized_end=9374, ) _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE_GETIDENTITIESBYPUBLICKEYHASHESRESPONSEV0 = _descriptor.Descriptor( @@ -2917,8 +2922,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9365, - serialized_end=9648, + serialized_start=9377, + serialized_end=9660, ) _GETIDENTITIESBYPUBLICKEYHASHESRESPONSE = _descriptor.Descriptor( @@ -2953,8 +2958,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=8949, - serialized_end=9659, + serialized_start=8961, + serialized_end=9671, ) @@ -2992,8 +2997,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9811, - serialized_end=9888, + serialized_start=9823, + serialized_end=9900, ) _GETIDENTITYBYPUBLICKEYHASHREQUEST = _descriptor.Descriptor( @@ -3028,8 +3033,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9662, - serialized_end=9899, + serialized_start=9674, + serialized_end=9911, ) @@ -3079,8 +3084,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10055, - serialized_end=10237, + serialized_start=10067, + serialized_end=10249, ) _GETIDENTITYBYPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( @@ -3115,8 +3120,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9902, - serialized_end=10248, + serialized_start=9914, + serialized_end=10260, ) @@ -3154,8 +3159,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10406, - serialized_end=10491, + serialized_start=10418, + serialized_end=10503, ) _WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( @@ -3190,8 +3195,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10251, - serialized_end=10502, + serialized_start=10263, + serialized_end=10514, ) @@ -3241,8 +3246,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10664, - serialized_end=10903, + serialized_start=10676, + serialized_end=10915, ) _WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( @@ -3277,8 +3282,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10505, - serialized_end=10914, + serialized_start=10517, + serialized_end=10926, ) @@ -3316,8 +3321,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11042, - serialized_end=11102, + serialized_start=11054, + serialized_end=11114, ) _GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( @@ -3352,8 +3357,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10917, - serialized_end=11113, + serialized_start=10929, + serialized_end=11125, ) @@ -3398,8 +3403,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11244, - serialized_end=11324, + serialized_start=11256, + serialized_end=11336, ) _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( @@ -3443,8 +3448,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11326, - serialized_end=11424, + serialized_start=11338, + serialized_end=11436, ) _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor( @@ -3481,8 +3486,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11427, - serialized_end=11645, + serialized_start=11439, + serialized_end=11657, ) _GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor( @@ -3517,8 +3522,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=11116, - serialized_end=11656, + serialized_start=11128, + serialized_end=11668, ) _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST @@ -3659,6 +3664,9 @@ _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.containing_type = _GETPROOFSRESPONSE +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['proof']) +_GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0.oneofs_by_name['result'] _GETPROOFSRESPONSE.fields_by_name['v0'].message_type = _GETPROOFSRESPONSE_GETPROOFSRESPONSEV0 _GETPROOFSRESPONSE.oneofs_by_name['version'].fields.append( _GETPROOFSRESPONSE.fields_by_name['v0']) @@ -4521,8 +4529,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=11659, - serialized_end=13690, + serialized_start=11671, + serialized_end=13702, methods=[ _descriptor.MethodDescriptor( name='broadcastStateTransition', diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts index 3e8ad1e9d9..b807a241b0 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts @@ -1227,6 +1227,7 @@ export namespace GetProofsResponse { getMetadata(): ResponseMetadata | undefined; setMetadata(value?: ResponseMetadata): void; + getResultCase(): GetProofsResponseV0.ResultCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetProofsResponseV0.AsObject; static toObject(includeInstance: boolean, msg: GetProofsResponseV0): GetProofsResponseV0.AsObject; @@ -1242,6 +1243,11 @@ export namespace GetProofsResponse { proof?: Proof.AsObject, metadata?: ResponseMetadata.AsObject, } + + export enum ResultCase { + RESULT_NOT_SET = 0, + PROOF = 1, + } } export enum VersionCase { diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js index 709bb14fb2..813527e8f5 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js @@ -131,6 +131,7 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.GetProofsReq goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetProofsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.KeyRequestType.RequestCase', null, { proto }); @@ -1020,7 +1021,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0 = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_); }; goog.inherits(proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -10127,6 +10128,31 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.serializeBinaryToWriter = func +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + PROOF: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -10269,7 +10295,7 @@ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype. * @return {!proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0} returns this */ proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.prototype.setProof = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProofsResponse.GetProofsResponseV0.oneofGroups_[0], value); }; diff --git a/packages/rs-dapi-client/src/mock.rs b/packages/rs-dapi-client/src/mock.rs index bc46441223..b4b24a4dd4 100644 --- a/packages/rs-dapi-client/src/mock.rs +++ b/packages/rs-dapi-client/src/mock.rs @@ -106,13 +106,13 @@ impl Dapi for MockDapiClient { "mock execute" ); - if let Some(response) = response { - return Ok(response); + return if let Some(response) = response { + Ok(response) } else { - return Err(DapiClientError::MockExpectationNotFound(format!( + Err(DapiClientError::MockExpectationNotFound(format!( "unexpected mock request with key {}, use MockDapiClient::expect(): {:?}", key, request - ))); + ))) } } } diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index 7f00a21972..b9939c77ee 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -47,7 +47,7 @@ dpp = { path = "../rs-dpp", features = [ [features] -default = ["mocks", "offline-testing"] +default = ["mocks"] mocks = [ "dep:serde_json", "rs-dapi-client/mocks", diff --git a/packages/rs-sdk/tests/fetch/document.rs b/packages/rs-sdk/tests/fetch/document.rs index 53ec952ce5..9ebb076fff 100644 --- a/packages/rs-sdk/tests/fetch/document.rs +++ b/packages/rs-sdk/tests/fetch/document.rs @@ -72,6 +72,8 @@ async fn document_read_no_contract() { ) .await; + dbg!(&query); + assert!(matches!( query, Err(rs_sdk::error::Error::MissingDependency(_, _)) From 99f40d39580682512407c8a0569f5171d49e49ac Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 2 Nov 2023 13:44:39 +0700 Subject: [PATCH 16/22] chore(release): update changelog and bump version to 0.25.9 (#1551) --- CHANGELOG.md | 70 +++++++++++++++++++ package.json | 2 +- packages/bench-suite/package.json | 2 +- packages/dapi-grpc/package.json | 2 +- packages/dapi/package.json | 2 +- packages/dash-spv/package.json | 2 +- packages/dashmate/package.json | 2 +- packages/dashpay-contract/package.json | 2 +- packages/dpns-contract/package.json | 2 +- packages/feature-flags-contract/package.json | 2 +- packages/js-dapi-client/package.json | 2 +- packages/js-dash-sdk/package.json | 2 +- packages/js-grpc-common/package.json | 2 +- .../package.json | 2 +- packages/platform-test-suite/package.json | 2 +- packages/wallet-lib/package.json | 2 +- packages/wasm-dpp/package.json | 2 +- packages/withdrawals-contract/package.json | 2 +- 18 files changed, 87 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55a5134a92..01d5718d8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,73 @@ +### [0.25.9](https://github.com/dashpay/platform/compare/v0.25.8...v0.25.9) (2023-11-02) + + +### âš  BREAKING CHANGES + +* DAPI proto messages are changed (#1542) +* Consensus rules for Identity Create and TopUp are changed. (#1510) +* Asset Lock Proof structure is changed (#1510) +* Identity Create Transition balance validation requires correct amount (twice more) (#1510) +* **dashmate:** `enabledCount` is replaced with `masternodeEnabled` in the masternode status output (#1505) +* **dashmate:** SSL keys are now stored in the node's config subdirectory (#1502) + +### Features + +* **dashmate:** add cli command for core service ([#1501](https://github.com/dashpay/platform/issues/1501)) +* **dashmate:** configure dashd command arguments ([#1520](https://github.com/dashpay/platform/issues/1520)) +* **dashmate:** docker build command ([#1546](https://github.com/dashpay/platform/issues/1546)) +* **dashmate:** docker build command ([#1546](https://github.com/dashpay/platform/issues/1546)) +* **dashmate:** move ssl dir ([#1502](https://github.com/dashpay/platform/issues/1502)) +* identity funding with asset lock special transactions ([#1510](https://github.com/dashpay/platform/issues/1510)) +* **platform:** proto message and query versioning ([#1522](https://github.com/dashpay/platform/issues/1522)) +* **platform:** query version upgrade (both votes and status) and epoch info ([#1542](https://github.com/dashpay/platform/issues/1542)) + + +### Bug Fixes + +* **dashmate:** payment queue and extend enabled count ([#1505](https://github.com/dashpay/platform/issues/1505)) +* **dashmate:** reset command doesn't reset configs ([#1541](https://github.com/dashpay/platform/issues/1541)) +* **drive:** mishandling internal errors as validation ones ([#1492](https://github.com/dashpay/platform/issues/1492)) +* security advisories in browserify-sign and crypto-js ([#1548](https://github.com/dashpay/platform/issues/1548)) + + +### Performance Improvements + +* **dashmate:** disable config auto render ([#1499](https://github.com/dashpay/platform/issues/1499)) +* **dashmate:** speedup container cleanup ([#1518](https://github.com/dashpay/platform/issues/1518)) + + +### Continuous Integration + +* fix s3 layer cache access forbidden on 8x runners ([#1521](https://github.com/dashpay/platform/issues/1521)) + + +### Tests + +* **dashmate:** successful migration test ([#1500](https://github.com/dashpay/platform/issues/1500)) +* **test-suite:** add optional bail ([#1488](https://github.com/dashpay/platform/issues/1488)) + + +### Build System + +* update rust to 1.73 ([#1529](https://github.com/dashpay/platform/issues/1529)) + + +### Code Refactoring + +* remove js-dpp ([#1517](https://github.com/dashpay/platform/issues/1517)) + + +### Documentation + +* Update README.md to give information about correctly adding to correct Shell $PATH ([#1550](https://github.com/dashpay/platform/issues/1550)) + + +### Miscellaneous Chores + +* adds missing crypto js ([#1538](https://github.com/dashpay/platform/issues/1538)) +* **dashmate:** set tenderdash logging level to info ([#1540](https://github.com/dashpay/platform/issues/1540)) +* **dpp:** version `InstantAssetLockProof.validate_structure` ([#1549](https://github.com/dashpay/platform/issues/1549)) + ### [0.25.8](https://github.com/dashpay/platform/compare/v0.25.7...v0.25.8) (2023-10-20) diff --git a/package.json b/package.json index fe59cc273a..206eed89a2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/platform", - "version": "0.25.8", + "version": "0.25.9", "private": true, "scripts": { "setup": "yarn install && yarn run build && yarn run configure", diff --git a/packages/bench-suite/package.json b/packages/bench-suite/package.json index e6e36c616d..3295ae1b5d 100644 --- a/packages/bench-suite/package.json +++ b/packages/bench-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/bench-suite", "private": true, - "version": "0.25.8", + "version": "0.25.9", "description": "Dash Platform benchmark tool", "scripts": { "bench": "node ./bin/bench.js", diff --git a/packages/dapi-grpc/package.json b/packages/dapi-grpc/package.json index a5b9b45222..d2de2e6d19 100644 --- a/packages/dapi-grpc/package.json +++ b/packages/dapi-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-grpc", - "version": "0.25.8", + "version": "0.25.9", "description": "DAPI GRPC definition file and generated clients", "browser": "browser.js", "main": "node.js", diff --git a/packages/dapi/package.json b/packages/dapi/package.json index 0bf1e4a7ee..6ffda93166 100644 --- a/packages/dapi/package.json +++ b/packages/dapi/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/dapi", "private": true, - "version": "0.25.8", + "version": "0.25.9", "description": "A decentralized API for the Dash network", "scripts": { "api": "node scripts/api.js", diff --git a/packages/dash-spv/package.json b/packages/dash-spv/package.json index b4b8432188..b35cffe934 100644 --- a/packages/dash-spv/package.json +++ b/packages/dash-spv/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dash-spv", - "version": "0.25.8", + "version": "0.25.9", "description": "Repository containing SPV functions used by @dashevo", "main": "index.js", "scripts": { diff --git a/packages/dashmate/package.json b/packages/dashmate/package.json index 6c8880abd6..b7e4ed8f6b 100644 --- a/packages/dashmate/package.json +++ b/packages/dashmate/package.json @@ -1,6 +1,6 @@ { "name": "dashmate", - "version": "0.25.8", + "version": "0.25.9", "description": "Distribution package for Dash node installation", "scripts": { "lint": "eslint .", diff --git a/packages/dashpay-contract/package.json b/packages/dashpay-contract/package.json index e4527c09ad..fdc6fafc5a 100644 --- a/packages/dashpay-contract/package.json +++ b/packages/dashpay-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dashpay-contract", - "version": "0.25.8", + "version": "0.25.9", "description": "Reference contract of the DashPay DPA on Dash Evolution", "scripts": { "lint": "eslint .", diff --git a/packages/dpns-contract/package.json b/packages/dpns-contract/package.json index a8bd111b99..c829f14db3 100644 --- a/packages/dpns-contract/package.json +++ b/packages/dpns-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dpns-contract", - "version": "0.25.8", + "version": "0.25.9", "description": "A contract and helper scripts for DPNS DApp", "scripts": { "lint": "eslint .", diff --git a/packages/feature-flags-contract/package.json b/packages/feature-flags-contract/package.json index dd2e8fd9d2..4b07fa644d 100644 --- a/packages/feature-flags-contract/package.json +++ b/packages/feature-flags-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/feature-flags-contract", - "version": "0.25.8", + "version": "0.25.9", "description": "Data Contract to store Dash Platform feature flags", "scripts": { "build": "", diff --git a/packages/js-dapi-client/package.json b/packages/js-dapi-client/package.json index ec0e7d4a69..474210783e 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-client", - "version": "0.25.8", + "version": "0.25.9", "description": "Client library used to access Dash DAPI endpoints", "main": "lib/index.js", "contributors": [ diff --git a/packages/js-dash-sdk/package.json b/packages/js-dash-sdk/package.json index a9cb92f513..ee85aea3dd 100644 --- a/packages/js-dash-sdk/package.json +++ b/packages/js-dash-sdk/package.json @@ -1,6 +1,6 @@ { "name": "dash", - "version": "3.25.8", + "version": "3.25.9", "description": "Dash library for JavaScript/TypeScript ecosystem (Wallet, DAPI, Primitives, BLS, ...)", "main": "build/index.js", "unpkg": "dist/dash.min.js", diff --git a/packages/js-grpc-common/package.json b/packages/js-grpc-common/package.json index 38b6c812b0..66dfe2fe7e 100644 --- a/packages/js-grpc-common/package.json +++ b/packages/js-grpc-common/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/grpc-common", - "version": "0.25.8", + "version": "0.25.9", "description": "Common GRPC library", "main": "index.js", "scripts": { diff --git a/packages/masternode-reward-shares-contract/package.json b/packages/masternode-reward-shares-contract/package.json index 7c27e806f0..dcc3f59508 100644 --- a/packages/masternode-reward-shares-contract/package.json +++ b/packages/masternode-reward-shares-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/masternode-reward-shares-contract", - "version": "0.25.8", + "version": "0.25.9", "description": "A contract and helper scripts for reward sharing", "scripts": { "lint": "eslint .", diff --git a/packages/platform-test-suite/package.json b/packages/platform-test-suite/package.json index 5a4d0b0488..52a7d8b391 100644 --- a/packages/platform-test-suite/package.json +++ b/packages/platform-test-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/platform-test-suite", "private": true, - "version": "0.25.8", + "version": "0.25.9", "description": "Dash Network end-to-end tests", "scripts": { "test": "yarn exec bin/test.sh", diff --git a/packages/wallet-lib/package.json b/packages/wallet-lib/package.json index 3fdfd20b2b..3f318d44eb 100644 --- a/packages/wallet-lib/package.json +++ b/packages/wallet-lib/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wallet-lib", - "version": "7.25.8", + "version": "7.25.9", "description": "Light wallet library for Dash", "main": "src/index.js", "unpkg": "dist/wallet-lib.min.js", diff --git a/packages/wasm-dpp/package.json b/packages/wasm-dpp/package.json index 0aa3fd5936..45f8b19b98 100644 --- a/packages/wasm-dpp/package.json +++ b/packages/wasm-dpp/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wasm-dpp", - "version": "0.25.8", + "version": "0.25.9", "description": "The JavaScript implementation of the Dash Platform Protocol", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/withdrawals-contract/package.json b/packages/withdrawals-contract/package.json index 799b55de89..3dd1180a79 100644 --- a/packages/withdrawals-contract/package.json +++ b/packages/withdrawals-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/withdrawals-contract", - "version": "0.25.8", + "version": "0.25.9", "description": "Data Contract to manipulate and track withdrawals", "scripts": { "build": "", From 54f822b72838829dd2732fe289bd3c7a0bc6d5fb Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 2 Nov 2023 18:24:46 +0700 Subject: [PATCH 17/22] fix(dashmate): invalid SSL path in the obtain command (#1553) --- .../tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js b/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js index 1e586bd6d7..ad41067002 100644 --- a/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/ssl/zerossl/obtainZeroSSLCertificateTaskFactory.js @@ -40,7 +40,9 @@ function obtainZeroSSLCertificateTaskFactory( const apiKey = config.get('platform.dapi.envoy.ssl.providerConfigs.zerossl.apiKey', true); const externalIp = config.get('externalIp', true); - const sslConfigDir = homeDir.joinPath('ssl', config.getName()); + const sslConfigDir = homeDir.joinPath( + config.getName(), 'platform', 'dapi', 'envoy', 'ssl', + ); const csrFilePath = path.join(sslConfigDir, 'csr.pem'); const privateKeyFilePath = path.join(sslConfigDir, 'private.key'); const bundleFilePath = path.join(sslConfigDir, 'bundle.crt'); From 690cc79107f851e17184c4df2f796ceef35c3b1f Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 2 Nov 2023 18:28:04 +0700 Subject: [PATCH 18/22] chore(release): update changelog and bump version to 0.25.10 (#1554) --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- packages/bench-suite/package.json | 2 +- packages/dapi-grpc/package.json | 2 +- packages/dapi/package.json | 2 +- packages/dash-spv/package.json | 2 +- packages/dashmate/package.json | 2 +- packages/dashpay-contract/package.json | 2 +- packages/dpns-contract/package.json | 2 +- packages/feature-flags-contract/package.json | 2 +- packages/js-dapi-client/package.json | 2 +- packages/js-dash-sdk/package.json | 2 +- packages/js-grpc-common/package.json | 2 +- packages/masternode-reward-shares-contract/package.json | 2 +- packages/platform-test-suite/package.json | 2 +- packages/wallet-lib/package.json | 2 +- packages/wasm-dpp/package.json | 2 +- packages/withdrawals-contract/package.json | 2 +- 18 files changed, 25 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01d5718d8c..ddbfdbaf0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +### [0.25.10](https://github.com/dashpay/platform/compare/v0.25.9...v0.25.10) (2023-11-02) + +### Bug Fixes + +* **dashmate:** invalid SSL path in the obtain command ([#1553](https://github.com/dashpay/platform/issues/1553)) + + + ### [0.25.9](https://github.com/dashpay/platform/compare/v0.25.8...v0.25.9) (2023-11-02) diff --git a/package.json b/package.json index 206eed89a2..53612dc996 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/platform", - "version": "0.25.9", + "version": "0.25.10", "private": true, "scripts": { "setup": "yarn install && yarn run build && yarn run configure", diff --git a/packages/bench-suite/package.json b/packages/bench-suite/package.json index 3295ae1b5d..343bd27ded 100644 --- a/packages/bench-suite/package.json +++ b/packages/bench-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/bench-suite", "private": true, - "version": "0.25.9", + "version": "0.25.10", "description": "Dash Platform benchmark tool", "scripts": { "bench": "node ./bin/bench.js", diff --git a/packages/dapi-grpc/package.json b/packages/dapi-grpc/package.json index d2de2e6d19..14c9d4c319 100644 --- a/packages/dapi-grpc/package.json +++ b/packages/dapi-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-grpc", - "version": "0.25.9", + "version": "0.25.10", "description": "DAPI GRPC definition file and generated clients", "browser": "browser.js", "main": "node.js", diff --git a/packages/dapi/package.json b/packages/dapi/package.json index 6ffda93166..6d4da86a06 100644 --- a/packages/dapi/package.json +++ b/packages/dapi/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/dapi", "private": true, - "version": "0.25.9", + "version": "0.25.10", "description": "A decentralized API for the Dash network", "scripts": { "api": "node scripts/api.js", diff --git a/packages/dash-spv/package.json b/packages/dash-spv/package.json index b35cffe934..66efed0b69 100644 --- a/packages/dash-spv/package.json +++ b/packages/dash-spv/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dash-spv", - "version": "0.25.9", + "version": "0.25.10", "description": "Repository containing SPV functions used by @dashevo", "main": "index.js", "scripts": { diff --git a/packages/dashmate/package.json b/packages/dashmate/package.json index b7e4ed8f6b..0220e64695 100644 --- a/packages/dashmate/package.json +++ b/packages/dashmate/package.json @@ -1,6 +1,6 @@ { "name": "dashmate", - "version": "0.25.9", + "version": "0.25.10", "description": "Distribution package for Dash node installation", "scripts": { "lint": "eslint .", diff --git a/packages/dashpay-contract/package.json b/packages/dashpay-contract/package.json index fdc6fafc5a..a45666a09e 100644 --- a/packages/dashpay-contract/package.json +++ b/packages/dashpay-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dashpay-contract", - "version": "0.25.9", + "version": "0.25.10", "description": "Reference contract of the DashPay DPA on Dash Evolution", "scripts": { "lint": "eslint .", diff --git a/packages/dpns-contract/package.json b/packages/dpns-contract/package.json index c829f14db3..0432afe585 100644 --- a/packages/dpns-contract/package.json +++ b/packages/dpns-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dpns-contract", - "version": "0.25.9", + "version": "0.25.10", "description": "A contract and helper scripts for DPNS DApp", "scripts": { "lint": "eslint .", diff --git a/packages/feature-flags-contract/package.json b/packages/feature-flags-contract/package.json index 4b07fa644d..52a4ec2cb9 100644 --- a/packages/feature-flags-contract/package.json +++ b/packages/feature-flags-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/feature-flags-contract", - "version": "0.25.9", + "version": "0.25.10", "description": "Data Contract to store Dash Platform feature flags", "scripts": { "build": "", diff --git a/packages/js-dapi-client/package.json b/packages/js-dapi-client/package.json index 474210783e..beb12f6a67 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-client", - "version": "0.25.9", + "version": "0.25.10", "description": "Client library used to access Dash DAPI endpoints", "main": "lib/index.js", "contributors": [ diff --git a/packages/js-dash-sdk/package.json b/packages/js-dash-sdk/package.json index ee85aea3dd..fdb9c60320 100644 --- a/packages/js-dash-sdk/package.json +++ b/packages/js-dash-sdk/package.json @@ -1,6 +1,6 @@ { "name": "dash", - "version": "3.25.9", + "version": "3.25.10", "description": "Dash library for JavaScript/TypeScript ecosystem (Wallet, DAPI, Primitives, BLS, ...)", "main": "build/index.js", "unpkg": "dist/dash.min.js", diff --git a/packages/js-grpc-common/package.json b/packages/js-grpc-common/package.json index 66dfe2fe7e..01ca74e6fb 100644 --- a/packages/js-grpc-common/package.json +++ b/packages/js-grpc-common/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/grpc-common", - "version": "0.25.9", + "version": "0.25.10", "description": "Common GRPC library", "main": "index.js", "scripts": { diff --git a/packages/masternode-reward-shares-contract/package.json b/packages/masternode-reward-shares-contract/package.json index dcc3f59508..73e002961e 100644 --- a/packages/masternode-reward-shares-contract/package.json +++ b/packages/masternode-reward-shares-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/masternode-reward-shares-contract", - "version": "0.25.9", + "version": "0.25.10", "description": "A contract and helper scripts for reward sharing", "scripts": { "lint": "eslint .", diff --git a/packages/platform-test-suite/package.json b/packages/platform-test-suite/package.json index 52a7d8b391..4e60836cff 100644 --- a/packages/platform-test-suite/package.json +++ b/packages/platform-test-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/platform-test-suite", "private": true, - "version": "0.25.9", + "version": "0.25.10", "description": "Dash Network end-to-end tests", "scripts": { "test": "yarn exec bin/test.sh", diff --git a/packages/wallet-lib/package.json b/packages/wallet-lib/package.json index 3f318d44eb..14d81d7610 100644 --- a/packages/wallet-lib/package.json +++ b/packages/wallet-lib/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wallet-lib", - "version": "7.25.9", + "version": "7.25.10", "description": "Light wallet library for Dash", "main": "src/index.js", "unpkg": "dist/wallet-lib.min.js", diff --git a/packages/wasm-dpp/package.json b/packages/wasm-dpp/package.json index 45f8b19b98..1a234d1a4b 100644 --- a/packages/wasm-dpp/package.json +++ b/packages/wasm-dpp/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wasm-dpp", - "version": "0.25.9", + "version": "0.25.10", "description": "The JavaScript implementation of the Dash Platform Protocol", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/withdrawals-contract/package.json b/packages/withdrawals-contract/package.json index 3dd1180a79..a3681bba22 100644 --- a/packages/withdrawals-contract/package.json +++ b/packages/withdrawals-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/withdrawals-contract", - "version": "0.25.9", + "version": "0.25.10", "description": "Data Contract to manipulate and track withdrawals", "scripts": { "build": "", From 112b62bdd605fcd641e32799b46f8a3f892ce2d5 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 2 Nov 2023 23:16:16 +0700 Subject: [PATCH 19/22] chore(dpp)!: allow only one document transition (#1555) --- .../src/errors/consensus/basic/basic_error.rs | 16 ++++++---- .../document_transitions_are_absent_error.rs | 26 +++++++++++++++++ .../errors/consensus/basic/document/mod.rs | 2 ++ packages/rs-dpp/src/errors/consensus/codes.rs | 1 + .../validate_base_structure/v0/mod.rs | 11 +++++-- .../document_transitions_are_absent_error.rs | 29 +++++++++++++++++++ .../errors/consensus/basic/document/mod.rs | 2 ++ 7 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 packages/rs-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs create mode 100644 packages/wasm-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs diff --git a/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs b/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs index dce38ae4d2..e4419d569d 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/basic_error.rs @@ -18,12 +18,13 @@ use crate::consensus::basic::decode::{ ProtocolVersionParsingError, SerializedObjectParsingError, VersionError, }; use crate::consensus::basic::document::{ - DataContractNotPresentError, DuplicateDocumentTransitionsWithIdsError, - DuplicateDocumentTransitionsWithIndicesError, InconsistentCompoundIndexDataError, - InvalidDocumentTransitionActionError, InvalidDocumentTransitionIdError, - InvalidDocumentTypeError, MaxDocumentsTransitionsExceededError, - MissingDataContractIdBasicError, MissingDocumentTransitionActionError, - MissingDocumentTransitionTypeError, MissingDocumentTypeError, + DataContractNotPresentError, DocumentTransitionsAreAbsentError, + DuplicateDocumentTransitionsWithIdsError, DuplicateDocumentTransitionsWithIndicesError, + InconsistentCompoundIndexDataError, InvalidDocumentTransitionActionError, + InvalidDocumentTransitionIdError, InvalidDocumentTypeError, + MaxDocumentsTransitionsExceededError, MissingDataContractIdBasicError, + MissingDocumentTransitionActionError, MissingDocumentTransitionTypeError, + MissingDocumentTypeError, }; use crate::consensus::basic::identity::{ DataContractBoundsNotPresentError, DuplicatedIdentityPublicKeyBasicError, @@ -294,6 +295,9 @@ pub enum BasicError { #[error(transparent)] StateTransitionMaxSizeExceededError(StateTransitionMaxSizeExceededError), + + #[error(transparent)] + DocumentTransitionsAreAbsentError(DocumentTransitionsAreAbsentError), } impl From for ConsensusError { diff --git a/packages/rs-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs b/packages/rs-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs new file mode 100644 index 0000000000..932c01d4c4 --- /dev/null +++ b/packages/rs-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs @@ -0,0 +1,26 @@ +use crate::consensus::basic::BasicError; +use crate::consensus::ConsensusError; +use crate::errors::ProtocolError; +use bincode::{Decode, Encode}; + +use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize}; +use thiserror::Error; + +#[derive( + Error, Debug, Clone, PartialEq, Eq, Encode, Decode, PlatformSerialize, PlatformDeserialize, +)] +#[error("Documents Batch Transition has no document transitions")] +#[platform_serialize(unversioned)] +pub struct DocumentTransitionsAreAbsentError {} + +impl DocumentTransitionsAreAbsentError { + pub fn new() -> Self { + Self {} + } +} + +impl From for ConsensusError { + fn from(err: DocumentTransitionsAreAbsentError) -> Self { + Self::BasicError(BasicError::DocumentTransitionsAreAbsentError(err)) + } +} diff --git a/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs b/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs index 6102cd51cc..5cb3ad5588 100644 --- a/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs +++ b/packages/rs-dpp/src/errors/consensus/basic/document/mod.rs @@ -1,4 +1,5 @@ mod data_contract_not_present_error; +mod document_transitions_are_absent_error; mod duplicate_document_transitions_with_ids_error; mod duplicate_document_transitions_with_indices_error; mod inconsistent_compound_index_data_error; @@ -12,6 +13,7 @@ mod missing_document_transition_type_error; mod missing_document_type_error; pub use data_contract_not_present_error::*; +pub use document_transitions_are_absent_error::*; pub use duplicate_document_transitions_with_ids_error::*; pub use duplicate_document_transitions_with_indices_error::*; pub use inconsistent_compound_index_data_error::*; diff --git a/packages/rs-dpp/src/errors/consensus/codes.rs b/packages/rs-dpp/src/errors/consensus/codes.rs index 251ddea98d..98d18363e7 100644 --- a/packages/rs-dpp/src/errors/consensus/codes.rs +++ b/packages/rs-dpp/src/errors/consensus/codes.rs @@ -77,6 +77,7 @@ impl ErrorWithCode for BasicError { Self::MissingDocumentTransitionTypeError { .. } => 1027, Self::MissingDocumentTypeError { .. } => 1028, Self::MaxDocumentsTransitionsExceededError { .. } => 1065, + Self::DocumentTransitionsAreAbsentError { .. } => 1066, // Identity Self::DuplicatedIdentityPublicKeyBasicError(_) => 1029, diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/validation/validate_base_structure/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/validation/validate_base_structure/v0/mod.rs index 79a8e84262..7907d36993 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/validation/validate_base_structure/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/documents_batch_transition/validation/validate_base_structure/v0/mod.rs @@ -1,5 +1,6 @@ use crate::consensus::basic::document::{ - DuplicateDocumentTransitionsWithIdsError, MaxDocumentsTransitionsExceededError, + DocumentTransitionsAreAbsentError, DuplicateDocumentTransitionsWithIdsError, + MaxDocumentsTransitionsExceededError, }; use crate::consensus::basic::BasicError; @@ -17,13 +18,19 @@ use platform_version::version::PlatformVersion; use std::collections::btree_map::Entry; use std::collections::BTreeMap; -const MAX_TRANSITIONS_IN_BATCH: usize = 100; +const MAX_TRANSITIONS_IN_BATCH: usize = 1; impl DocumentsBatchTransition { pub(super) fn validate_base_structure_v0<'d>( &self, platform_version: &PlatformVersion, ) -> Result { + if self.transitions().is_empty() { + return Ok(SimpleConsensusValidationResult::new_with_error( + DocumentTransitionsAreAbsentError::new().into(), + )); + } + if self.transitions().len() > MAX_TRANSITIONS_IN_BATCH { return Ok(SimpleConsensusValidationResult::new_with_error( MaxDocumentsTransitionsExceededError::new(MAX_TRANSITIONS_IN_BATCH as u32).into(), diff --git a/packages/wasm-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs b/packages/wasm-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs new file mode 100644 index 0000000000..7c0179fea8 --- /dev/null +++ b/packages/wasm-dpp/src/errors/consensus/basic/document/document_transitions_are_absent_error.rs @@ -0,0 +1,29 @@ +use dpp::consensus::codes::ErrorWithCode; +use dpp::consensus::ConsensusError; +use wasm_bindgen::prelude::wasm_bindgen; + +use dpp::consensus::basic::document::DocumentTransitionsAreAbsentError; + +#[wasm_bindgen(js_name=DocumentTransitionsAreAbsentError)] +pub struct DocumentTransitionsAreAbsentErrorWasm { + inner: DocumentTransitionsAreAbsentError, +} + +impl From<&DocumentTransitionsAreAbsentError> for DocumentTransitionsAreAbsentErrorWasm { + fn from(e: &DocumentTransitionsAreAbsentError) -> Self { + Self { inner: e.clone() } + } +} + +#[wasm_bindgen(js_class=DocumentTransitionsAreAbsentError)] +impl DocumentTransitionsAreAbsentErrorWasm { + #[wasm_bindgen(js_name=getCode)] + pub fn get_code(&self) -> u32 { + ConsensusError::from(self.inner.clone()).code() + } + + #[wasm_bindgen(getter)] + pub fn message(&self) -> String { + self.inner.to_string() + } +} diff --git a/packages/wasm-dpp/src/errors/consensus/basic/document/mod.rs b/packages/wasm-dpp/src/errors/consensus/basic/document/mod.rs index 43c56685b6..9015719ebc 100644 --- a/packages/wasm-dpp/src/errors/consensus/basic/document/mod.rs +++ b/packages/wasm-dpp/src/errors/consensus/basic/document/mod.rs @@ -1,4 +1,5 @@ mod data_contract_not_present_error; +mod document_transitions_are_absent_error; mod duplicate_document_transitions_with_ids_error; mod duplicate_document_transitions_with_indices_error; mod inconsistent_compound_index_data_error; @@ -11,6 +12,7 @@ mod missing_document_transition_type_error; mod missing_document_type_error; pub use data_contract_not_present_error::*; +pub use document_transitions_are_absent_error::*; pub use duplicate_document_transitions_with_ids_error::*; pub use duplicate_document_transitions_with_indices_error::*; pub use inconsistent_compound_index_data_error::*; From c9634e0e31824c736295cf25086e72fc6a1cbf9b Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Fri, 3 Nov 2023 10:36:22 +0700 Subject: [PATCH 20/22] fix: better proc macro --- packages/dapi-grpc/build.rs | 20 +-- .../proto/org.dash.platform.dapi.v0.rs | 39 ++---- packages/dapi-grpc/src/platform/versioning.rs | 8 +- packages/rs-dapi-grpc-macros/src/lib.rs | 129 ++++++------------ packages/rs-drive-abci/src/query/mod.rs | 2 +- .../verify_state_transitions.rs | 16 +-- packages/rs-drive-proof-verifier/src/proof.rs | 36 ++--- 7 files changed, 100 insertions(+), 150 deletions(-) diff --git a/packages/dapi-grpc/build.rs b/packages/dapi-grpc/build.rs index 7e103ddd67..f7b74e9f59 100644 --- a/packages/dapi-grpc/build.rs +++ b/packages/dapi-grpc/build.rs @@ -65,16 +65,14 @@ pub fn generate() -> Result<(), std::io::Error> { "GetProofsResponse", "WaitForStateTransitionResultResponse", ]; - for msg in [VERSIONED_REQUESTS, VERSIONED_RESPONSES].concat() { - platform = - platform.message_attribute(msg, r#"#[derive(::dapi_grpc_macros::GrpcMessageV0)]"#); - } for msg in VERSIONED_RESPONSES { - platform = platform.message_attribute( - msg, - r#"#[derive(::dapi_grpc_macros::VersionedGrpcResponse)]"#, - ); + platform = platform + .message_attribute( + msg, + r#"#[derive(::dapi_grpc_macros::VersionedGrpcResponse)]"#, + ) + .message_attribute(msg, r#"#[grpc_versions(0)]"#); } #[cfg(feature = "serde")] @@ -157,6 +155,12 @@ impl MappingConfig { self } + #[allow(unused)] + fn enum_attribute(mut self, path: &str, attribute: &str) -> Self { + self.builder = self.builder.enum_attribute(path, attribute); + self + } + #[allow(unused)] fn message_attribute(mut self, path: &str, attribute: &str) -> Self { self.builder = self.builder.message_attribute(path, attribute); diff --git a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs index 95f2980ede..24a29af366 100644 --- a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs +++ b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs @@ -67,7 +67,6 @@ pub struct BroadcastStateTransitionRequest { pub struct BroadcastStateTransitionResponse {} #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityRequest { @@ -98,7 +97,6 @@ pub mod get_identity_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceRequest { @@ -129,7 +127,6 @@ pub mod get_identity_balance_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceAndRevisionRequest { @@ -162,8 +159,8 @@ pub mod get_identity_balance_and_revision_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityResponse { @@ -206,7 +203,6 @@ pub mod get_identity_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesRequest { @@ -237,8 +233,8 @@ pub mod get_identities_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesResponse { @@ -307,8 +303,8 @@ pub mod get_identities_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceResponse { @@ -351,8 +347,8 @@ pub mod get_identity_balance_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityBalanceAndRevisionResponse { @@ -510,7 +506,6 @@ pub mod security_level_map { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityKeysRequest { @@ -547,8 +542,8 @@ pub mod get_identity_keys_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityKeysResponse { @@ -599,7 +594,6 @@ pub mod get_identity_keys_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetProofsRequest { @@ -711,8 +705,8 @@ pub mod get_proofs_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetProofsResponse { @@ -753,7 +747,6 @@ pub mod get_proofs_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractRequest { @@ -784,8 +777,8 @@ pub mod get_data_contract_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractResponse { @@ -828,7 +821,6 @@ pub mod get_data_contract_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractsRequest { @@ -859,8 +851,8 @@ pub mod get_data_contracts_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractsResponse { @@ -921,7 +913,6 @@ pub mod get_data_contracts_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractHistoryRequest { @@ -959,8 +950,8 @@ pub mod get_data_contract_history_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataContractHistoryResponse { @@ -1025,7 +1016,6 @@ pub mod get_data_contract_history_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDocumentsRequest { @@ -1081,8 +1071,8 @@ pub mod get_documents_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDocumentsResponse { @@ -1133,7 +1123,6 @@ pub mod get_documents_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesByPublicKeyHashesRequest { @@ -1166,8 +1155,8 @@ pub mod get_identities_by_public_key_hashes_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentitiesByPublicKeyHashesResponse { @@ -1236,7 +1225,6 @@ pub mod get_identities_by_public_key_hashes_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityByPublicKeyHashRequest { @@ -1269,8 +1257,8 @@ pub mod get_identity_by_public_key_hash_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetIdentityByPublicKeyHashResponse { @@ -1320,7 +1308,6 @@ pub mod get_identity_by_public_key_hash_response { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WaitForStateTransitionResultRequest { @@ -1352,8 +1339,8 @@ pub mod wait_for_state_transition_result_request { } #[derive(::serde::Serialize, ::serde::Deserialize)] #[serde(rename_all = "snake_case")] -#[derive(::dapi_grpc_macros::GrpcMessageV0)] #[derive(::dapi_grpc_macros::VersionedGrpcResponse)] +#[grpc_versions(0)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WaitForStateTransitionResultResponse { diff --git a/packages/dapi-grpc/src/platform/versioning.rs b/packages/dapi-grpc/src/platform/versioning.rs index 3403619bc0..1e0ecd6f42 100644 --- a/packages/dapi-grpc/src/platform/versioning.rs +++ b/packages/dapi-grpc/src/platform/versioning.rs @@ -1,11 +1,9 @@ use std::fmt::Display; -use platform_version::version::PlatformVersion; - use super::v0::{Proof, ResponseMetadata}; pub trait VersionedGrpcResponse { type Error: Display; - fn get_proof(&self, version: &PlatformVersion) -> Result; - fn get_metadata(&self, version: &PlatformVersion) -> Result; -} + fn proof(&self) -> Result<&Proof, Self::Error>; + fn metadata(&self) -> Result<&ResponseMetadata, Self::Error>; +} \ No newline at end of file diff --git a/packages/rs-dapi-grpc-macros/src/lib.rs b/packages/rs-dapi-grpc-macros/src/lib.rs index 7722eb569d..05ee38a8a8 100644 --- a/packages/rs-dapi-grpc-macros/src/lib.rs +++ b/packages/rs-dapi-grpc-macros/src/lib.rs @@ -1,6 +1,6 @@ use heck::AsSnakeCase; use proc_macro::TokenStream; -use quote::quote; +use quote::{format_ident, quote}; use syn::{parse_macro_input, DeriveInput, Ident}; /// Implement versioning on gRPC responses @@ -14,113 +14,74 @@ use syn::{parse_macro_input, DeriveInput, Ident}; /// ## Requirements /// /// The response must be versioned and contain proof and metadata fields. -#[proc_macro_derive(VersionedGrpcResponse)] +#[proc_macro_derive(VersionedGrpcResponse, attributes(grpc_versions))] pub fn versioned_grpc_response_derive(input: TokenStream) -> TokenStream { // Parse the input tokens into a syntax tree let input = parse_macro_input!(input as DeriveInput); - // Get the name of the struct - let name = input.ident.clone(); - - let v0_name = format!("{}V0", name); - let v0_ident = syn::parse_str::(&v0_name).expect("parse v0 ident"); + // Extract attributes to find the number of versions + let versions: usize = input.attrs.iter().find_map(|attr| { + if attr.path().is_ident("grpc_versions") { + // Parse the attribute into a literal integer + attr.parse_args::().ok().and_then(|lit| lit.base10_parse().ok()) + } else { + None + } + }).expect("Expected a grpc_versions attribute with an integer"); + let name = input.ident; // Generate the names of the nested message and enum types let mod_name = AsSnakeCase(name.to_string()).to_string(); let mod_ident = syn::parse_str::(&mod_name).expect("parse response ident"); - let mod_v0_name = format!("{}_v0", mod_name); - let mod_v0_ident = syn::parse_str::(&mod_v0_name).expect("parse v0 ident"); + // Generate match arms for proof and metadata methods + let proof_arms = (0..=versions).map(|version| { + let version_ident = format_ident!("V{}", version); + // Construct the identifier string for the module + let version_mod_str = format!("{}_v{}", mod_ident, version); + // Now create an identifier from the constructed string + let version_mod_ident = format_ident!("{}", version_mod_str); + quote! { + #mod_ident::Version::#version_ident(inner) => match &inner.result { + Some(#mod_ident::#version_mod_ident::Result::Proof(proof)) => Ok(proof), + _ => return Err(::platform_version::error::PlatformVersionError::UnknownVersionError("unknown proof version not known".to_string())), + }, + } + }); + + let metadata_arms = (0..=versions).map(|version| { + let version_ident = format_ident!("V{}", version); + quote! { + #mod_ident::Version::#version_ident(inner) => inner.metadata.as_ref().ok_or(platform_version::error::PlatformVersionError:: + UnknownVersionError("result did not have metadata".to_string())), + } + }); // Generate the implementation let expanded = quote! { impl crate::platform::VersionedGrpcResponse for #name { type Error = ::platform_version::error::PlatformVersionError; - fn get_proof(&self, version: &::platform_version::version::PlatformVersion) -> Result { - // TODO add assertion to check that version is correct - use ::platform_version::TryFromPlatformVersioned; - - let item = #mod_ident::#v0_ident::try_from_platform_versioned(self.clone(), version)?; - - match &item.result { - Some(#mod_ident::#mod_v0_ident::Result::Proof(ref proof)) => { - Ok(proof.clone()) + fn proof(&self) -> Result<&Proof, Self::Error> { + match &self.version { + Some(version) => match version { + #( #proof_arms )* }, - _ => Err(::platform_version::error::PlatformVersionError::UnknownVersionError("result is not proof".to_string())), - } - } - - fn get_metadata(&self, version: &::platform_version::version::PlatformVersion) -> Result { - use ::platform_version::TryFromPlatformVersioned; - - let item = #mod_ident::#v0_ident::try_from_platform_versioned(self.clone(), version)?; - - let metadata = item.metadata.ok_or(::platform_version::error::PlatformVersionError::UnknownVersionError("metadata is not set".to_string()))?; - Ok(metadata) - } - } - }; - println!("Expanded code: {}", expanded); - - // Return the generated code - TokenStream::from(expanded) -} - -/// Implement versioning on gRPC messages -/// -/// This adds implementation of version 0 to the message: -/// -/// * impl From for MessageName -/// * impl [TryFromPlatformVersioned](::platform_version::TryFromPlatformVersioned) for MessageNameV0 -/// -/// where `MessageName` is the name of the object on which the derive is declared. -#[proc_macro_derive(GrpcMessageV0)] -pub fn grpc_message_v0_derive(input: TokenStream) -> TokenStream { - // Parse the input tokens into a syntax tree - let input = parse_macro_input!(input as DeriveInput); - - // Get the name of the struct - let name = input.ident.clone(); - - let v0_name = format!("{}V0", name); - let v0_ident = syn::parse_str::(&v0_name).expect("parse v0 ident"); - - // Generate the names of the nested message and enum types - let mod_name = AsSnakeCase(name.to_string()).to_string(); - let mod_ident = syn::parse_str::(&mod_name).expect("parse response ident"); - - // let mod_v0_name = format!("{}_v0", mod_name); - // let mod_v0_ident = syn::parse_str::(&mod_v0_name).expect("parse v0 ident"); - - // Generate the implementation of the IntoProof trait - let expanded = quote! { - impl From<#mod_ident::#v0_ident> for #name { - fn from(item: #mod_ident::#v0_ident) -> Self { - Self { - version: Some(#mod_ident::Version::V0(item)), + _ => Err(::platform_version::error::PlatformVersionError::UnknownVersionError("result did not have a version".to_string())), } } - } - - impl ::platform_version::TryFromPlatformVersioned<#name> for #mod_ident::#v0_ident { - type Error = ::platform_version::error::PlatformVersionError; - fn try_from_platform_versioned( - value: #name, - platform_version: &::platform_version::version::PlatformVersion, - ) -> Result { - // TODO check if version matches `platform_version` - match value.version { - Some(#mod_ident::Version::V0(item)) => { - Ok(item) + fn metadata(&self) -> Result<&ResponseMetadata, Self::Error> { + match &self.version { + Some(version) => match version { + #( #metadata_arms )* }, - _ => Err(platform_version::error::PlatformVersionError::UnknownVersionError("unsupported version".to_string())), + None => Err(::platform_version::error::PlatformVersionError::UnknownVersionError("result did not have a version".to_string())), } } } }; - // uncomment below to debug + // println!("Expanded code: {}", expanded); // Return the generated code diff --git a/packages/rs-drive-abci/src/query/mod.rs b/packages/rs-drive-abci/src/query/mod.rs index 7002d90990..10702fbdd2 100644 --- a/packages/rs-drive-abci/src/query/mod.rs +++ b/packages/rs-drive-abci/src/query/mod.rs @@ -1860,7 +1860,7 @@ mod tests { GetProofsResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); let proof = response - .get_proof(version) + .proof(version) .expect("expected a proof in versioned response"); assert!(!proof.grovedb_proof.is_empty()) diff --git a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs index e7c46b2baf..17f9a0fc39 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs @@ -108,7 +108,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .get_proof(platform_version) + .proof(platform_version) .expect("proof should be present"); // let fetched_contract = abci_app @@ -165,7 +165,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .expect("expected to decode proof response"); let response_proof = response - .get_proof(platform_version) + .proof(platform_version) .expect("expected to get proof"); // we expect to get an identity that matches the state transition @@ -238,7 +238,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .expect("expected to decode proof response"); let response_proof = response - .get_proof(platform_version) + .proof(platform_version) .expect("proof should be present"); for document_transition_action in documents_batch_transition.transitions().iter() { @@ -384,7 +384,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .expect("expected to decode proof response"); let response_proof = response - .get_proof(platform_version) + .proof(platform_version) .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -448,7 +448,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .get_proof(platform_version) + .proof(platform_version) .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -509,7 +509,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .get_proof(platform_version) + .proof(platform_version) .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -556,7 +556,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .get_proof(platform_version) + .proof(platform_version) .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -624,7 +624,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .get_proof(platform_version) + .proof(platform_version) .expect("proof should be present"); // we expect to get an identity that matches the state transition diff --git a/packages/rs-drive-proof-verifier/src/proof.rs b/packages/rs-drive-proof-verifier/src/proof.rs index f8694074a1..07ed45039b 100644 --- a/packages/rs-drive-proof-verifier/src/proof.rs +++ b/packages/rs-drive-proof-verifier/src/proof.rs @@ -121,11 +121,11 @@ impl FromProof for Identity { // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -171,11 +171,11 @@ impl FromProof for Identity { let response = response.into(); // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -224,11 +224,11 @@ impl FromProof for IdentityPublicKeys { // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -389,11 +389,11 @@ impl FromProof for IdentityBalance { // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -439,11 +439,11 @@ impl FromProof for IdentityBalan // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -489,11 +489,11 @@ impl FromProof for DataContract { // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -541,11 +541,11 @@ impl FromProof for DataContracts { // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -605,11 +605,11 @@ impl FromProof for DataContractHistory // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; // Load some info from request @@ -673,11 +673,11 @@ where // Parse response to read proof and metadata let proof = response - .get_proof(platform_version) + .proof(platform_version) .or(Err(Error::NoProofInResult))?; let mtd = response - .get_metadata(platform_version) + .metadata() .or(Err(Error::EmptyResponseMetadata))?; let (root_hash, documents) = request From e0085b137c9684b3114417e6d9ad9a2e3dbdde49 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Fri, 3 Nov 2023 11:47:13 +0700 Subject: [PATCH 21/22] many fixes --- packages/dapi-grpc/src/platform/versioning.rs | 2 +- packages/rs-dapi-client/src/mock.rs | 2 +- .../rs-dapi-client/tests/mock_dapi_client.rs | 21 +- packages/rs-dapi-grpc-macros/src/lib.rs | 22 +- .../verify_state_transitions.rs | 6 +- packages/rs-drive-proof-verifier/src/error.rs | 4 + packages/rs-drive-proof-verifier/src/proof.rs | 250 ++++++++---------- .../system/verify_epoch_infos/v0/mod.rs | 7 +- .../system/verify_upgrade_state/v0/mod.rs | 14 +- .../verify_upgrade_vote_status/v0/mod.rs | 16 +- .../rs-sdk/src/platform/document_query.rs | 23 +- packages/rs-sdk/src/platform/identity.rs | 47 +++- packages/rs-sdk/src/platform/query.rs | 26 +- 13 files changed, 234 insertions(+), 206 deletions(-) diff --git a/packages/dapi-grpc/src/platform/versioning.rs b/packages/dapi-grpc/src/platform/versioning.rs index 1e0ecd6f42..064bd22b14 100644 --- a/packages/dapi-grpc/src/platform/versioning.rs +++ b/packages/dapi-grpc/src/platform/versioning.rs @@ -6,4 +6,4 @@ pub trait VersionedGrpcResponse { type Error: Display; fn proof(&self) -> Result<&Proof, Self::Error>; fn metadata(&self) -> Result<&ResponseMetadata, Self::Error>; -} \ No newline at end of file +} diff --git a/packages/rs-dapi-client/src/mock.rs b/packages/rs-dapi-client/src/mock.rs index b4b24a4dd4..142f767474 100644 --- a/packages/rs-dapi-client/src/mock.rs +++ b/packages/rs-dapi-client/src/mock.rs @@ -113,7 +113,7 @@ impl Dapi for MockDapiClient { "unexpected mock request with key {}, use MockDapiClient::expect(): {:?}", key, request ))) - } + }; } } diff --git a/packages/rs-dapi-client/tests/mock_dapi_client.rs b/packages/rs-dapi-client/tests/mock_dapi_client.rs index 397e3d69ad..f5f67dce99 100644 --- a/packages/rs-dapi-client/tests/mock_dapi_client.rs +++ b/packages/rs-dapi-client/tests/mock_dapi_client.rs @@ -7,16 +7,17 @@ async fn test_mock_get_identity_dapi_client() { let mut dapi = MockDapiClient::new(); let request = GetIdentityRequest::default(); - let response: GetIdentityResponse = - dapi_grpc::platform::v0::get_identity_response::GetIdentityResponseV0 { - result: Some( - dapi_grpc::platform::v0::get_identity_response::get_identity_response_v0::Result::Proof(Proof { - quorum_type: 106, - ..Default::default() - }), - ), - metadata: Default::default(), - }.into(); + let response: GetIdentityResponse = GetIdentityResponse { + version: Some(dapi_grpc::platform::v0::get_identity_response::Version::V0(dapi_grpc::platform::v0::get_identity_response::GetIdentityResponseV0 { + result: Some( + dapi_grpc::platform::v0::get_identity_response::get_identity_response_v0::Result::Proof(Proof { + quorum_type: 106, + ..Default::default() + }), + ), + metadata: Default::default(), + })) + }; dapi.expect(&request, &response); diff --git a/packages/rs-dapi-grpc-macros/src/lib.rs b/packages/rs-dapi-grpc-macros/src/lib.rs index 05ee38a8a8..69fe087183 100644 --- a/packages/rs-dapi-grpc-macros/src/lib.rs +++ b/packages/rs-dapi-grpc-macros/src/lib.rs @@ -20,14 +20,20 @@ pub fn versioned_grpc_response_derive(input: TokenStream) -> TokenStream { let input = parse_macro_input!(input as DeriveInput); // Extract attributes to find the number of versions - let versions: usize = input.attrs.iter().find_map(|attr| { - if attr.path().is_ident("grpc_versions") { - // Parse the attribute into a literal integer - attr.parse_args::().ok().and_then(|lit| lit.base10_parse().ok()) - } else { - None - } - }).expect("Expected a grpc_versions attribute with an integer"); + let versions: usize = input + .attrs + .iter() + .find_map(|attr| { + if attr.path().is_ident("grpc_versions") { + // Parse the attribute into a literal integer + attr.parse_args::() + .ok() + .and_then(|lit| lit.base10_parse().ok()) + } else { + None + } + }) + .expect("Expected a grpc_versions attribute with an integer"); let name = input.ident; // Generate the names of the nested message and enum types diff --git a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs index 17f9a0fc39..e19bbf9d29 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs @@ -1,9 +1,8 @@ -use dapi_grpc::platform::v0::{ - get_proofs_request, GetProofsRequest, GetProofsResponse, -}; +use dapi_grpc::platform::v0::{get_proofs_request, GetProofsRequest, GetProofsResponse}; use dapi_grpc::platform::VersionedGrpcResponse; use dapi_grpc::platform::v0::get_proofs_request::{get_proofs_request_v0, GetProofsRequestV0}; +use dpp::block::block_info::BlockInfo; use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::document::Document; use dpp::identity::PartialIdentity; @@ -21,7 +20,6 @@ use drive_abci::platform_types::platform_state::v0::PlatformStateV0Methods; use drive_abci::rpc::core::MockCoreRPCLike; use prost::Message; use tenderdash_abci::proto::abci::ExecTxResult; -use dpp::block::block_info::BlockInfo; use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; diff --git a/packages/rs-drive-proof-verifier/src/error.rs b/packages/rs-drive-proof-verifier/src/error.rs index eecc25c470..b7a733ca9e 100644 --- a/packages/rs-drive-proof-verifier/src/error.rs +++ b/packages/rs-drive-proof-verifier/src/error.rs @@ -21,6 +21,10 @@ pub enum Error { #[error("empty response metadata")] EmptyResponseMetadata, + /// Empty version + #[error("empty version")] + EmptyVersion, + /// No proof in response #[error("no proof in result")] NoProofInResult, diff --git a/packages/rs-drive-proof-verifier/src/proof.rs b/packages/rs-drive-proof-verifier/src/proof.rs index 07ed45039b..fdccac74e4 100644 --- a/packages/rs-drive-proof-verifier/src/proof.rs +++ b/packages/rs-drive-proof-verifier/src/proof.rs @@ -1,15 +1,18 @@ use std::collections::BTreeMap; use crate::{types::*, Error, QuorumInfoProvider}; -use dapi_grpc::platform::v0::get_data_contract_history_request::GetDataContractHistoryRequestV0; use dapi_grpc::platform::v0::get_data_contract_request::GetDataContractRequestV0; use dapi_grpc::platform::v0::get_data_contracts_request::GetDataContractsRequestV0; use dapi_grpc::platform::v0::get_identity_balance_and_revision_request::GetIdentityBalanceAndRevisionRequestV0; use dapi_grpc::platform::v0::get_identity_balance_request::GetIdentityBalanceRequestV0; use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::GetIdentityByPublicKeyHashRequestV0; use dapi_grpc::platform::v0::get_identity_keys_request::GetIdentityKeysRequestV0; -use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; use dapi_grpc::platform::v0::security_level_map::KeyKindRequestType as GrpcKeyKind; +use dapi_grpc::platform::v0::{ + get_data_contract_history_request, get_data_contract_request, get_data_contracts_request, + get_identity_balance_and_revision_request, get_identity_balance_request, + get_identity_by_public_key_hash_request, get_identity_keys_request, get_identity_request, +}; use dapi_grpc::platform::{ v0::{self as platform, key_request_type, KeyRequestType as GrpcKeyType}, VersionedGrpcResponse, @@ -120,20 +123,17 @@ impl FromProof for Identity { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetIdentityRequestV0 = - request.try_into_platform_versioned(platform_version)?; - let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { - error: e.to_string(), - })?; + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let id = match request.version.ok_or(Error::EmptyVersion)? { + get_identity_request::Version::V0(v0) => { + Identifier::from_bytes(&v0.id).map_err(|e| Error::ProtocolError { + error: e.to_string(), + })? + } + }; // Extract content from proof and verify Drive/GroveDB proofs let (root_hash, maybe_identity) = Drive::verify_full_identity_by_identity_id( @@ -170,24 +170,21 @@ impl FromProof for Identity { let request = request.into(); let response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetIdentityByPublicKeyHashRequestV0 = - request.try_into_platform_versioned(platform_version)?; - let public_key_hash: [u8; 20] = - request_v0 - .public_key_hash - .try_into() - .map_err(|_| Error::DriveError { - error: "Ivalid public key hash length".to_string(), - })?; + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let public_key_hash = match request.version.ok_or(Error::EmptyVersion)? { + get_identity_by_public_key_hash_request::Version::V0(v0) => { + let public_key_hash: [u8; 20] = + v0.public_key_hash + .try_into() + .map_err(|_| Error::DriveError { + error: "Ivalid public key hash length".to_string(), + })?; + public_key_hash + } + }; // Extract content from proof and verify Drive/GroveDB proofs let (root_hash, maybe_identity) = Drive::verify_full_identity_by_public_key_hash( @@ -223,25 +220,26 @@ impl FromProof for IdentityPublicKeys { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetIdentityKeysRequestV0 = - request.try_into_platform_versioned(platform_version)?; - - let identity_id = Identifier::from_bytes(&request_v0.identity_id) - .map_err(|e| Error::ProtocolError { - error: e.to_string(), - })? - .into_buffer(); + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let (request_type, identity_id, limit, offset) = + match request.version.ok_or(Error::EmptyVersion)? { + get_identity_keys_request::Version::V0(v0) => { + let request_type = v0.request_type; + let identity_id = Identifier::from_bytes(&v0.identity_id) + .map_err(|e| Error::ProtocolError { + error: e.to_string(), + })? + .into_buffer(); + let limit = v0.limit.map(|i| i as u16); + let offset = v0.offset.map(|i| i as u16); + (request_type, identity_id, limit, offset) + } + }; - let key_request = match parse_key_request_type(&request_v0.request_type)? { + let key_request = match parse_key_request_type(&request_type)? { KeyRequestType::SpecificKeys(specific_keys) => { IdentityKeysRequest::new_specific_keys_query(&identity_id, specific_keys) } @@ -249,14 +247,14 @@ impl FromProof for IdentityPublicKeys { KeyRequestType::SearchKey(criteria) => IdentityKeysRequest { identity_id, request_type: KeyRequestType::SearchKey(criteria), - limit: Some(1), - offset: None, + limit, + offset, }, KeyRequestType::ContractBoundKey(id, purpose, kind) => IdentityKeysRequest { identity_id, request_type: KeyRequestType::ContractBoundKey(id, purpose, kind), - limit: Some(1), - offset: None, + limit, + offset, }, KeyRequestType::ContractDocumentTypeBoundKey(id, s, purpose, kind) => { IdentityKeysRequest { @@ -264,8 +262,8 @@ impl FromProof for IdentityPublicKeys { request_type: KeyRequestType::ContractDocumentTypeBoundKey( id, s, purpose, kind, ), - limit: Some(1), - offset: None, + limit, + offset, } } }; @@ -388,20 +386,16 @@ impl FromProof for IdentityBalance { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetIdentityBalanceRequestV0 = - request.try_into_platform_versioned(platform_version)?; - let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { - error: e.to_string(), - })?; + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let id = match request.version.ok_or(Error::EmptyVersion)? { + get_identity_balance_request::Version::V0(v0) => Identifier::from_bytes(&v0.id) + .map_err(|e| Error::ProtocolError { + error: e.to_string(), + }), + }?; // Extract content from proof and verify Drive/GroveDB proofs let (root_hash, maybe_identity) = Drive::verify_identity_balance_for_identity_id( @@ -438,20 +432,17 @@ impl FromProof for IdentityBalan let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetIdentityBalanceAndRevisionRequestV0 = - request.try_into_platform_versioned(platform_version)?; - let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { - error: e.to_string(), - })?; + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let id = match request.version.ok_or(Error::EmptyVersion)? { + get_identity_balance_and_revision_request::Version::V0(v0) => { + Identifier::from_bytes(&v0.id).map_err(|e| Error::ProtocolError { + error: e.to_string(), + }) + } + }?; // Extract content from proof and verify Drive/GroveDB proofs let (root_hash, maybe_identity) = @@ -488,20 +479,17 @@ impl FromProof for DataContract { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetDataContractRequestV0 = - request.try_into_platform_versioned(platform_version)?; - let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { - error: e.to_string(), - })?; + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let id = match request.version.ok_or(Error::EmptyVersion)? { + get_data_contract_request::Version::V0(v0) => { + Identifier::from_bytes(&v0.id).map_err(|e| Error::ProtocolError { + error: e.to_string(), + }) + } + }?; // Extract content from proof and verify Drive/GroveDB proofs let (root_hash, maybe_contract) = Drive::verify_contract( @@ -540,19 +528,15 @@ impl FromProof for DataContracts { let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetDataContractsRequestV0 = - request.try_into_platform_versioned(platform_version)?; - let ids = request_v0 - .ids + let proof = response.proof().or(Err(Error::NoProofInResult))?; + + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let ids = match request.version.ok_or(Error::EmptyVersion)? { + get_data_contracts_request::Version::V0(v0) => v0.ids, + }; + + let ids = ids .iter() .map(|id| { id.clone() @@ -604,29 +588,27 @@ impl FromProof for DataContractHistory let response: Self::Response = response.into(); // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; - - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; - - // Load some info from request - let request_v0: GetDataContractHistoryRequestV0 = - request.try_into_platform_versioned(platform_version)?; - let id = Identifier::from_bytes(&request_v0.id).map_err(|e| Error::ProtocolError { - error: e.to_string(), - })?; + let proof = response.proof().or(Err(Error::NoProofInResult))?; - let limit = u32_to_u16_opt(request_v0.limit.unwrap_or_default())?; - let offset = u32_to_u16_opt(request_v0.offset.unwrap_or_default())?; + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; + + let (id, limit, offset, start_at_ms) = match request.version.ok_or(Error::EmptyVersion)? { + get_data_contract_history_request::Version::V0(v0) => { + let id = Identifier::from_bytes(&v0.id).map_err(|e| Error::ProtocolError { + error: e.to_string(), + })?; + let limit = u32_to_u16_opt(v0.limit.unwrap_or_default())?; + let offset = u32_to_u16_opt(v0.offset.unwrap_or_default())?; + let start_at_ms = v0.start_at_ms; + (id, limit, offset, start_at_ms) + } + }; // Extract content from proof and verify Drive/GroveDB proofs let (root_hash, maybe_history) = Drive::verify_contract_history( &proof.grovedb_proof, id.into_buffer(), - request_v0.start_at_ms, + start_at_ms, limit, offset, &PLATFORM_VERSION, @@ -672,13 +654,9 @@ where })?; // Parse response to read proof and metadata - let proof = response - .proof(platform_version) - .or(Err(Error::NoProofInResult))?; + let proof = response.proof().or(Err(Error::NoProofInResult))?; - let mtd = response - .metadata() - .or(Err(Error::EmptyResponseMetadata))?; + let mtd = response.metadata().or(Err(Error::EmptyResponseMetadata))?; let (root_hash, documents) = request .verify_proof(&proof.grovedb_proof, &PLATFORM_VERSION) diff --git a/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs index 8dc259c309..63e02c0cdc 100644 --- a/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs +++ b/packages/rs-drive/src/drive/verify/system/verify_epoch_infos/v0/mod.rs @@ -102,12 +102,12 @@ impl Drive { let epoch_index_result: Result = path .last() .ok_or(Error::Proof(ProofError::CorruptedProof( - "extended epoch info: path can not be empty", + "extended epoch info: path can not be empty".to_string(), ))) .and_then(|epoch_index_vec| { epoch_index_vec.as_slice().try_into().map_err(|_| { Error::Proof(ProofError::CorruptedProof( - "extended epoch info: item has an invalid length", + "extended epoch info: item has an invalid length".to_string(), )) }) }) @@ -115,7 +115,8 @@ impl Drive { EpochIndex::from_be_bytes(epoch_index_bytes) .checked_sub(EPOCH_KEY_OFFSET) .ok_or(Error::Proof(ProofError::CorruptedProof( - "epoch bytes on disk too small, should be over epoch key offset", + "epoch bytes on disk too small, should be over epoch key offset" + .to_string(), ))) }); diff --git a/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs index 6f109c1d89..63ff9e7e55 100644 --- a/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs +++ b/packages/rs-drive/src/drive/verify/system/verify_upgrade_state/v0/mod.rs @@ -42,16 +42,22 @@ impl Drive { .into_iter() .map(|(_, key, element)| { let version = ProtocolVersion::decode_var(key.as_slice()) - .ok_or(ProofError::CorruptedProof("protocol version not decodable"))? + .ok_or(ProofError::CorruptedProof( + "protocol version not decodable".to_string(), + ))? .0; let element = element.ok_or(ProofError::CorruptedProof( - "expected a count for each version, got none", + "expected a count for each version, got none".to_string(), ))?; let count_bytes = element.as_item_bytes().map_err(|_| { - ProofError::CorruptedProof("expected an item for the element of a version") + ProofError::CorruptedProof( + "expected an item for the element of a version".to_string(), + ) })?; let count = u64::decode_var(count_bytes) - .ok_or(ProofError::CorruptedProof("version count not decodable"))? + .ok_or(ProofError::CorruptedProof( + "version count not decodable".to_string(), + ))? .0; Ok((version, count)) }) diff --git a/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs b/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs index e5e4c01a07..69aec6844f 100644 --- a/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs +++ b/packages/rs-drive/src/drive/verify/system/verify_upgrade_vote_status/v0/mod.rs @@ -54,17 +54,21 @@ impl Drive { let protocol_version_map = elements .into_iter() .map(|(_, key, element)| { - let pro_tx_hash: [u8; 32] = key - .try_into() - .map_err(|_| ProofError::CorruptedProof("protocol version not decodable"))?; + let pro_tx_hash: [u8; 32] = key.try_into().map_err(|_| { + ProofError::CorruptedProof("protocol version not decodable".to_string()) + })?; let element = element.ok_or(ProofError::CorruptedProof( - "expected a count for each version, got none", + "expected a count for each version, got none".to_string(), ))?; let version_bytes = element.as_item_bytes().map_err(|_| { - ProofError::CorruptedProof("expected an item for the element of a version") + ProofError::CorruptedProof( + "expected an item for the element of a version".to_string(), + ) })?; let version = u32::decode_var(version_bytes) - .ok_or(ProofError::CorruptedProof("version count not decodable"))? + .ok_or(ProofError::CorruptedProof( + "version count not decodable".to_string(), + ))? .0; Ok((pro_tx_hash, version)) }) diff --git a/packages/rs-sdk/src/platform/document_query.rs b/packages/rs-sdk/src/platform/document_query.rs index 5ab0d38d1c..6d70ffec9b 100644 --- a/packages/rs-sdk/src/platform/document_query.rs +++ b/packages/rs-sdk/src/platform/document_query.rs @@ -4,6 +4,7 @@ use std::sync::Arc; use crate::{error::Error, sdk::Sdk}; use ciborium::Value as CborValue; +use dapi_grpc::platform::v0::get_documents_request::Version::V0; use dapi_grpc::platform::v0::{ self as platform_proto, get_documents_request::{get_documents_request_v0::Start, GetDocumentsRequestV0}, @@ -209,16 +210,18 @@ impl TryFrom for platform_proto::GetDocumentsRequest { let order_by = serialize_vec_to_cbor(dapi_request.order_by_clauses.clone())?; // Order clause - Ok(GetDocumentsRequestV0 { - data_contract_id: dapi_request.data_contract.id().to_vec(), - document_type: dapi_request.document_type_name.clone(), - r#where: where_clauses, - order_by, - limit: dapi_request.limit, - prove: true, - start: dapi_request.start.clone(), - } - .into()) + //todo: transform this into PlatformVersionedTryFrom + Ok(GetDocumentsRequest { + version: Some(V0(GetDocumentsRequestV0 { + data_contract_id: dapi_request.data_contract.id().to_vec(), + document_type: dapi_request.document_type_name.clone(), + r#where: where_clauses, + order_by, + limit: dapi_request.limit, + prove: true, + start: dapi_request.start.clone(), + })), + }) } } diff --git a/packages/rs-sdk/src/platform/identity.rs b/packages/rs-sdk/src/platform/identity.rs index f9f7bc4ade..d64e8e6c25 100644 --- a/packages/rs-sdk/src/platform/identity.rs +++ b/packages/rs-sdk/src/platform/identity.rs @@ -4,7 +4,12 @@ use dapi_grpc::platform::v0::get_identity_balance_and_revision_request::GetIdent use dapi_grpc::platform::v0::get_identity_balance_request::GetIdentityBalanceRequestV0; use dapi_grpc::platform::v0::get_identity_by_public_key_hash_request::GetIdentityByPublicKeyHashRequestV0; use dapi_grpc::platform::v0::get_identity_request::GetIdentityRequestV0; -use dapi_grpc::platform::v0::{GetIdentityBalanceAndRevisionRequest, GetIdentityBalanceRequest}; +use dapi_grpc::platform::v0::{ + get_identity_balance_and_revision_request, get_identity_balance_request, + get_identity_by_public_key_hash_request, get_identity_request, + GetIdentityBalanceAndRevisionRequest, GetIdentityBalanceRequest, + GetIdentityByPublicKeyHashRequest, GetIdentityRequest, +}; use dpp::prelude::Identity; use crate::delegate_enum; @@ -29,9 +34,12 @@ impl Query for dpp::prelude::Identifier { unimplemented!("queries without proofs are not supported yet"); } let id = self.to_vec(); - Ok(IdentityRequest::GetIdentity( - GetIdentityRequestV0 { id, prove: true }.into(), - )) + Ok(IdentityRequest::GetIdentity(GetIdentityRequest { + version: Some(get_identity_request::Version::V0(GetIdentityRequestV0 { + id, + prove: true, + })), + })) } } @@ -47,12 +55,14 @@ impl Query for PublicKeyHash { if !prove { unimplemented!("queries without proofs are not supported yet"); } - let request: proto::GetIdentityByPublicKeyHashRequest = - GetIdentityByPublicKeyHashRequestV0 { - prove, - public_key_hash: self.0.to_vec(), - } - .into(); + let request: GetIdentityByPublicKeyHashRequest = GetIdentityByPublicKeyHashRequest { + version: Some(get_identity_by_public_key_hash_request::Version::V0( + GetIdentityByPublicKeyHashRequestV0 { + prove, + public_key_hash: self.0.to_vec(), + }, + )), + }; Ok(request.into()) } @@ -64,7 +74,14 @@ impl Query for dpp::prelude::Identifier { unimplemented!("queries without proofs are not supported yet"); } let id = self.to_vec(); - Ok(GetIdentityBalanceRequestV0 { id, prove }.into()) + + let request: GetIdentityBalanceRequest = GetIdentityBalanceRequest { + version: Some(get_identity_balance_request::Version::V0( + GetIdentityBalanceRequestV0 { id, prove }, + )), + }; + + Ok(request) } } @@ -74,6 +91,12 @@ impl Query for dpp::prelude::Identifier { unimplemented!("queries without proofs are not supported yet"); } let id = self.to_vec(); - Ok(GetIdentityBalanceAndRevisionRequestV0 { id, prove }.into()) + let request: GetIdentityBalanceAndRevisionRequest = GetIdentityBalanceAndRevisionRequest { + version: Some(get_identity_balance_and_revision_request::Version::V0( + GetIdentityBalanceAndRevisionRequestV0 { id, prove }, + )), + }; + + Ok(request) } } diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index ae97f0a8aa..18c8548284 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -4,7 +4,8 @@ use std::fmt::Debug; use dapi_grpc::platform::v0::{ - self as proto, get_identity_keys_request::GetIdentityKeysRequestV0, AllKeys, KeyRequestType, + self as proto, get_identity_keys_request, get_identity_keys_request::GetIdentityKeysRequestV0, + AllKeys, GetIdentityKeysRequest, KeyRequestType, }; use dpp::prelude::Identifier; use drive::query::DriveQuery; @@ -97,16 +98,19 @@ impl Query for Identifier { unimplemented!("queries without proofs are not supported yet"); } let identity_id = self.to_vec(); - Ok(GetIdentityKeysRequestV0 { - identity_id, - prove, - limit: None, - offset: None, - request_type: Some(KeyRequestType { - request: Some(proto::key_request_type::Request::AllKeys(AllKeys {})), - }), - } - .into()) + Ok(GetIdentityKeysRequest { + version: Some(get_identity_keys_request::Version::V0( + GetIdentityKeysRequestV0 { + identity_id, + prove, + limit: None, + offset: None, + request_type: Some(KeyRequestType { + request: Some(proto::key_request_type::Request::AllKeys(AllKeys {})), + }), + }, + )), + }) } } From 81f0327ff89e8e92a0004376a73430d167cf3822 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Fri, 3 Nov 2023 12:06:20 +0700 Subject: [PATCH 22/22] more fixes --- packages/dapi-grpc/src/platform/versioning.rs | 2 ++ packages/rs-dapi-grpc-macros/src/lib.rs | 24 +++++++++++++++++++ packages/rs-drive-abci/src/query/mod.rs | 2 +- .../verify_state_transitions.rs | 16 ++++++------- 4 files changed, 35 insertions(+), 9 deletions(-) diff --git a/packages/dapi-grpc/src/platform/versioning.rs b/packages/dapi-grpc/src/platform/versioning.rs index 064bd22b14..47e958d3d0 100644 --- a/packages/dapi-grpc/src/platform/versioning.rs +++ b/packages/dapi-grpc/src/platform/versioning.rs @@ -5,5 +5,7 @@ use super::v0::{Proof, ResponseMetadata}; pub trait VersionedGrpcResponse { type Error: Display; fn proof(&self) -> Result<&Proof, Self::Error>; + + fn proof_owned(self) -> Result; fn metadata(&self) -> Result<&ResponseMetadata, Self::Error>; } diff --git a/packages/rs-dapi-grpc-macros/src/lib.rs b/packages/rs-dapi-grpc-macros/src/lib.rs index 69fe087183..14148d38ea 100644 --- a/packages/rs-dapi-grpc-macros/src/lib.rs +++ b/packages/rs-dapi-grpc-macros/src/lib.rs @@ -55,6 +55,21 @@ pub fn versioned_grpc_response_derive(input: TokenStream) -> TokenStream { } }); + // Generate match arms for proof and metadata methods + let proof_owned_arms = (0..=versions).map(|version| { + let version_ident = format_ident!("V{}", version); + // Construct the identifier string for the module + let version_mod_str = format!("{}_v{}", mod_ident, version); + // Now create an identifier from the constructed string + let version_mod_ident = format_ident!("{}", version_mod_str); + quote! { + #mod_ident::Version::#version_ident(inner) => match inner.result { + Some(#mod_ident::#version_mod_ident::Result::Proof(proof)) => Ok(proof), + _ => return Err(::platform_version::error::PlatformVersionError::UnknownVersionError("unknown proof version not known".to_string())), + }, + } + }); + let metadata_arms = (0..=versions).map(|version| { let version_ident = format_ident!("V{}", version); quote! { @@ -77,6 +92,15 @@ pub fn versioned_grpc_response_derive(input: TokenStream) -> TokenStream { } } + fn proof_owned(self) -> Result { + match self.version { + Some(version) => match version { + #( #proof_owned_arms )* + }, + _ => Err(::platform_version::error::PlatformVersionError::UnknownVersionError("result did not have a version".to_string())), + } + } + fn metadata(&self) -> Result<&ResponseMetadata, Self::Error> { match &self.version { Some(version) => match version { diff --git a/packages/rs-drive-abci/src/query/mod.rs b/packages/rs-drive-abci/src/query/mod.rs index 10702fbdd2..3d422f2a73 100644 --- a/packages/rs-drive-abci/src/query/mod.rs +++ b/packages/rs-drive-abci/src/query/mod.rs @@ -1860,7 +1860,7 @@ mod tests { GetProofsResponse::decode(validation_result.data.unwrap().as_slice()).unwrap(); let proof = response - .proof(version) + .proof() .expect("expected a proof in versioned response"); assert!(!proof.grovedb_proof.is_empty()) diff --git a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs index e19bbf9d29..3363c63a6d 100644 --- a/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs +++ b/packages/rs-drive-abci/tests/strategy_tests/verify_state_transitions.rs @@ -106,7 +106,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .proof(platform_version) + .proof_owned() .expect("proof should be present"); // let fetched_contract = abci_app @@ -163,7 +163,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .expect("expected to decode proof response"); let response_proof = response - .proof(platform_version) + .proof_owned() .expect("expected to get proof"); // we expect to get an identity that matches the state transition @@ -236,7 +236,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .expect("expected to decode proof response"); let response_proof = response - .proof(platform_version) + .proof_owned() .expect("proof should be present"); for document_transition_action in documents_batch_transition.transitions().iter() { @@ -382,7 +382,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( .expect("expected to decode proof response"); let response_proof = response - .proof(platform_version) + .proof_owned() .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -446,7 +446,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .proof(platform_version) + .proof_owned() .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -507,7 +507,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .proof(platform_version) + .proof_owned() .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -554,7 +554,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .proof(platform_version) + .proof_owned() .expect("proof should be present"); // we expect to get an identity that matches the state transition @@ -622,7 +622,7 @@ pub(crate) fn verify_state_transitions_were_or_were_not_executed( let response_proof = GetProofsResponse::decode(serialized_get_proofs_response.as_slice()) .expect("expected to decode proof response") - .proof(platform_version) + .proof_owned() .expect("proof should be present"); // we expect to get an identity that matches the state transition

;uK#SS|E%;M?NX>$Y5H%({g=f4v+e#f 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%0A3uWIw;bo@G^o;4 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